首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告:[rawtype]找到原始类型: DefaultListModel

警告:[rawtype]找到原始类型: DefaultListModel
EN

Stack Overflow用户
提问于 2011-10-19 22:46:18
回答 3查看 12.5K关注 0票数 5

我从编译器那里得到了这个警告,这完全没有意义(至少对我来说是这样)。它基本上是想让我给DefaultListModel分配一个类型,它本身就是一个对象类型!在我的代码中,我收到了成堆的警告!

代码语言:javascript
复制
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

这是另一个我不知道是从哪里来的!

代码语言:javascript
复制
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

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-19 22:56:21

从Java7开始,DefaultListModel是一个泛型类型,就像ListSet等。它需要一个类型:DefaultListModel<SomeClass>,而不是原始的DefaultListModel

这允许以更加类型安全的方式工作,因为您不能将字符串插入到应该包含Integer实例的list模型中。在从模型中获取元素时,您不必强制转换为Integer。

对于JList也是如此,它现在也是字符串的JList或整数的JList,而不是原始的JList

阅读tutorial about generics,并看一看javadoc of DefaultListModel

票数 11
EN

Stack Overflow用户

发布于 2014-06-30 02:01:24

尝试@SuppressWarning(“rawtypes”)

当使用反射或使用接口方法时,这是一个特别糟糕的默认设置,其中泛型对象的确切类型应该是隐藏的。当我想起@Suppress时,我开始将我的Class引用更改为Class。

票数 3
EN

Stack Overflow用户

发布于 2011-12-29 00:02:08

如果有人在NetBeans集成开发环境(7.0.1)中寻找这些警告,生成的代码(针对JList等)如果你不知道如何纠正它,请按照以下步骤操作:

  1. 转到图形用户界面编辑器(matisse builder).
  2. Select (点击)组件(JList等))
  3. 转到“属性”窗口,到“代码”选项卡
  4. 写入“into Type Parametres”属性。当然,“某物”可以是字符串,也可以是您的对象...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7823140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档