在 ServletContextListener
中,我设置了如下属性:
ArrayList<String> prefs = new ArrayList<String>();
...
...
sc.setAttribute("user-preferences", prefs);
我尝试在 JSP 页面中使用该属性,如下所示:
ArrayList<String> prefs = (ArrayList<String>) config.getServletContext().getAttribute("user-preferences");
我收到以下警告:
Type safety: Unchecked cast from Object to ArrayList
有人可以告诉我为什么收到此警告吗?
谢谢。
最佳答案
此警告是因为ServletContext.getAttribute()
不支持泛型,并且该方法的方法签名表示返回对象为 Object
。但是,您将其类型转换为 ArrayList<String>
.
ServletContext.getAttribute() API Reference
这是一个标准的 Java 警告,表明您正在将非泛型类型 (Object) 转换为泛型类型 (ArrayList)。
在 Java 中,您可以使用未经检查的注释来删除警告。
关于jsp - JSP页面中的类型安全警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9188666/