我对 Java 很陌生...... 我写了一个类叫做 DLPFile 它基本上是其他对象的容器,如字符串、整数、 float 等。
将我的文件放入列表然后将其保存在我的 session (来自 Map 类)变量时很容易;
DLPFile file = new DLPFile();
List <DLPFile >fileList = new ArrayList <DLPFile>();
fileList.add(file);
session.put("filesList", fileList);
但是如何从 session 变量中检索列表? 当我这样做时:
List <DLPFile files = (List) session.get("fileslist");
我收到了一些警告:
"List is a raw type.References to generic type List<E> should be parameterized."
我试过了
List <DLPFile files = (List <DLPFile> ) session.get("fileslist");
List <DLPFile files = (List ) session.get("fileslist")<DLPFile>; and
List <DLPFile files = (List) <DLPFile> session.get("fileslist");
但是没有效果
我想这是一个“转换”问题......(也许?)
提前致谢;)
最佳答案
这是因为泛型类型删除。当您从 session 中获取它时,编译器无法确定实际的泛型类型参数(除非您 session.get 采用 Class
如果您不喜欢这个警告,您可以添加一个
@SuppressWarnings("unchecked")
方法开头的注释。
关于Java 列表参数化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1356382/