在 Class1 中,我们有一个方法doGet
和一个方法,该方法返回一个List,其中包含类型为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>"
答案 0 :(得分:3)
此处需要从Object
到List<Animal>
的演员阵容:
@SuppressWarnings("unchecked")
List<Animal> list500= (ArrayList<Animal>)request.getAttribute("animal_list");
request.getAttribute
只返回Object
,因此您必须通过cast
定义确切的类型。 Object
可能就是一切......
作为旁边节点:你会得到一个
来自&#34;未选中从Object转换为ArrayList&#34;
compiler
的警告。在这种情况下,您可以添加
&#34;禁止警告&#34;
annotation
。之后警告将消失。