在ServletContextListener
中,我设置了如下属性:
ArrayList<String> prefs = new ArrayList<String>();
...
...
sc.setAttribute("user-preferences", prefs);
我尝试在JSP页面中使用该属性,如下所示:
ArrayList<String> prefs = (ArrayList<String>) config.getServletContext().getAttribute("user-preferences");
我收到以下警告:
类型安全:未选中从Object转换为ArrayList
有人可以告诉我为什么会收到此警告吗?
感谢。
答案 0 :(得分:2)
此警告是因为ServletContext.getAttribute()
不支持泛型,此方法的方法签名表示返回对象为Object
。但是,您将其输入ArrayList<String>
。
ServletContext.getAttribute() API Reference
这是一个标准的Java警告,表明您正在将非泛型类型(Object)转换为泛型类型(ArrayList)。
在Java中,您可以使用未经检查的注释删除警告。