AbstractListModel不是jdk 1.6.0_45的通用名称

时间:2016-02-26 14:11:22

标签: java eclipse swing maven generics

我想按如下方式定义Swing组合框模型:

public class SchemaGroupModel<E> extends AbstractListModel<E> implements ComboBoxModel<E>

但是Eclipse会引发错误(两次):

The type AbstractListModel is not generic; it cannot be parameterized with arguments <E>

我检查了here(原始类型定义),here(旧JDK)和here(Java Build路径中JDK库的位置)。从这些回复中我想问题应该是JDK的版本或它在IDE库中的位置。但我加倍检查:我使用的是 JDK 1.6 ,这样的库在 Maven依赖项之前来自

Eclipse's screenshot

我做错了什么?

1 个答案:

答案 0 :(得分:2)

这个类在Java 6中不是通用的

https://docs.oracle.com/javase/6/docs/api/javax/swing/AbstractListModel.html

public abstract class AbstractListModel
extends Object
implements ListModel, Serializable

你可以看到,在Java 7中,它是通用的。

https://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractListModel.html

public abstract class AbstractListModel<E>
extends Object
implements ListModel<E>, Serializable

但是,如果您要更新,我建议使用Java 8,因为Java 7是EOL。