java - 无法从 List<Object> 获取属性 - Servlet

标签 java servlets get attributes

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 来自 ObjectList<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/

相关文章:

Java 在 servlet 上下文中存储与数据库查找

java - 使用 JSP (JSTL) 从 Java MVC 和 JDBC 检索数据

PHP 在新页面上显示 SQL 行的更多列,然后保存

java - maven 缺少 Artifact

java - 用 Java 阅读 feed

java - Autonomous Talend 作业失败并显示 'Error: Could not find or load main class...'

java - 如何使用 iText 在 JSP 中显示有限页数的 PDF 文件?

node.js - 如果请求失败,axios(或 Node )就会卡住

html - 选择选项时设置 $_GET 值

java - 向 APNS 发送推送通知(AdHoc 部署)