找到原始类型,缺少泛型类的返回参数

时间:2013-03-30 11:52:50

标签: java swing class generics netbeans

我不明白这个警告:

found raw type: javax.swing.DefaultListModel
missing type arguements for generic class javax.swing.DefaultListModel

Netbeans似乎表明可以从alt-enter找到更多信息,但什么都没有出现。类型应该是?

enter image description here

代码:

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);
    }

}

2 个答案:

答案 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>