我从编译器那里得到了这个警告,这完全没有意义(至少对我来说是这样)。它基本上是想让我给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这是另一个我不知道是从哪里来的!
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提前感谢
发布于 2011-10-19 22:56:21
从Java7开始,DefaultListModel是一个泛型类型,就像List、Set等。它需要一个类型:DefaultListModel<SomeClass>,而不是原始的DefaultListModel。
这允许以更加类型安全的方式工作,因为您不能将字符串插入到应该包含Integer实例的list模型中。在从模型中获取元素时,您不必强制转换为Integer。
对于JList也是如此,它现在也是字符串的JList或整数的JList,而不是原始的JList。
阅读tutorial about generics,并看一看javadoc of DefaultListModel。
发布于 2014-06-30 02:01:24
尝试@SuppressWarning(“rawtypes”)
当使用反射或使用接口方法时,这是一个特别糟糕的默认设置,其中泛型对象的确切类型应该是隐藏的。当我想起@Suppress时,我开始将我的Class引用更改为Class。
发布于 2011-12-29 00:02:08
如果有人在NetBeans集成开发环境(7.0.1)中寻找这些警告,生成的代码(针对JList等)如果你不知道如何纠正它,请按照以下步骤操作:
https://stackoverflow.com/questions/7823140
复制相似问题