在 Class1 中,我们有一个方法 doGet
和一个返回类型为 Animal 的对象列表的方法。
public List<Animal> getAnimals()
所以我这样调用方法:
List<Animal> animal = getAnimals();
request.setAttribute("animal_list", animal);
在Class 2我也有一个方法doGet,我想获取animal_list。我的代码是:
List<Animal> list500=request.getAttribute("animal_list");
但是当我编译时我得到消息
"Object cannot be converted to List<Animal>"
最佳答案
Actor 来自 Object
至 List<Animal>
这里是必要的:
@SuppressWarnings("unchecked")
List<Animal> list500= (ArrayList<Animal>)request.getAttribute("animal_list");
request.getAttribute
只返回 Object
所以你必须通过 cast
定义确切的类型. Object
可能是一切......
作为侧节点:你会得到一个
"Unchecked cast from Object to ArrayList"
来自 compiler
的警告.在这种情况下,您可以添加
"suppress the warning"
annotation
.之后警告将消失。
关于java - 无法从 List<Object> 获取属性 - Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33672439/