我不明白这个警告:
found raw type: javax.swing.DefaultListModel
missing type arguements for generic class javax.swing.DefaultListModel
Netbeans似乎表明可以从alt-enter
找到更多信息,但什么都没有出现。类型应该是?
代码:
package net.bounceme.dur.nntp.swing;
import java.util.logging.Logger;
import javax.swing.DefaultListModel;
public class MessagesListModel extends DefaultListModel {
private static final long serialVersionUID = 1L;
private static final Logger LOG = Logger.getLogger(MessagesListModel.class.getName());
@Override
@SuppressWarnings("unchecked")
public void addElement(Object element) {
super.addElement(element);
}
}
答案 0 :(得分:1)
DefaultListModel 是来自 Java 7 的generic type。
您应该DefaultListModel<ClassName>
而不是DefaultListModel
。
通常,这样更安全,因为您指定了应该添加的内容以及不应该在列表中插入的内容。因此,如果您犯了错误,编译器将出现错误。
答案 1 :(得分:1)
来自 Java 7 DefaultListModel被视为通用类。见DefaultListModel。在扩展它时,您不会为要扩展的DefaultListModel提供泛型类型。这就是你的IDE警告你的原因
要么你可以忽略这个警告。或者作为替代方案,您可以为Type parameter
<Integer>
或其他任何内容提供一些<String>
。
public class MessagesListModel extends DefaultListModel<String>