我想按如下方式定义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依赖项之前来自。
我做错了什么?
答案 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。