Java 无法从列表中获取属性<;对象>;-Servlet

Java 无法从列表中获取属性<;对象>;-Servlet,java,servlets,get,attributes,Java,Servlets,Get,Attributes,在Class1中,我们有一个方法doGet和一个方法,该方法返回类型为Animal的对象列表 public List<Animal> getAnimals() public List getAnimals() 所以我调用如下方法: List<Animal> animal = getAnimals(); request.setAttribute("animal_list", animal); List animal=getAnimals(); 请求.setAttri

Class1中,我们有一个方法
doGet
和一个方法,该方法返回类型为Animal的对象列表

public List<Animal> getAnimals() 
public List getAnimals()
所以我调用如下方法:

List<Animal> animal = getAnimals();
request.setAttribute("animal_list", animal);
List animal=getAnimals();
请求.setAttribute(“动物列表”,动物);
第2课中我也有一个方法doGet,我想学习动物列表。我的代码是:

List<Animal> list500=request.getAttribute("animal_list");
List list500=request.getAttribute(“动物列表”);
但当我编译时,我得到了信息

"Object cannot be converted to List<Animal>"
“无法将对象转换为列表”

此处需要将
对象
转换为
列表

 @SuppressWarnings("unchecked")
 List<Animal> list500= (ArrayList<Animal>)request.getAttribute("animal_list");
@SuppressWarnings(“未选中”)
List list500=(ArrayList)request.getAttribute(“动物列表”);
request.getAttribute
只返回
对象
,因此必须通过
cast
定义确切的类型<代码>对象可以是一切

作为侧节点:您将得到一个

“未选中从对象到ArrayList的强制转换”

来自
编译器的警告
。在这种情况下,您可以添加

“取消显示警告”


注释
。在此之后,警告将消失。

您需要强制转换
getAttribute
函数的返回类型,
List list500=(ArrayList)request.getAttribute(“animal_List”)我尝试了这一个,但当我编译时收到消息“文件使用未检查或不安全操作。工具成功完成”我尝试了这一个,但当我编译时收到消息“文件使用未检查或不安全操作。工具成功完成”我编写了List list500=(ArrayList)request.getAttribute(“animal_List”),但消息是“文件正在使用未经检查或不安全的操作。工具已成功完成。”