Sam*_*Sam 3 java generics swing netbeans jlist
我从编译器得到这个警告,这根本没有意义(至少对我来说).它基本上要我将Type分配给DefaultListModel,它本身就是一个对象类型!我通过我的代码得到了大量的警告!
C:\Documents and Settings\...\filename.java:345:warning: [rawtypes] found raw type: DefaultListModel
DefaultListModel lm = (DefaultListModel) jList_DataSetList.getModel();
missing type arguments for generic class DefaultListModel<E>
where E is a type-variable:
E extends Object declared in class DefaultListModel
Run Code Online (Sandbox Code Playgroud)
这是另一个我不知道从哪里来的!
C:\Documents and Settings\...\filename.java:897: warning: [rawtypes] found raw type: JList
private javax.swing.JList jList_DataSetList;
missing type arguments for generic class JList<E>
where E is a type-variable:
E extends Object declared in class JList
Run Code Online (Sandbox Code Playgroud)
提前致谢
JB *_*zet 10
由于Java 7,DefaultListModel是一个通用的类型,比如List,Set等它需要一个类型:DefaultListModel<SomeClass>替代原料DefaultListModel.
这允许以更类型安全的方式工作,因为您将无法将String插入到应该包含Integer实例的列表模型中.从模型中获取元素时,您不必转换为Integer.
同样适用于JList现在JList也是字符串或JList整数,而不是原始字符串JList.
阅读有关泛型的教程,并查看DefaultListModel的javadoc.