【问题标题】:AbstractListModel is not generic with jdk 1.6.0_45AbstractListModel 不适用于 jdk 1.6.0_45
【发布时间】:2016-02-26 14:11:22
【问题描述】:

我想定义一个 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(JDK 库在 Java 构建路径中的位置)。从这些回复中,我猜问题应该是 JDK 的版本或其在 IDE 库中的位置。但我加倍检查:我使用的是 JDK 1.6,而这样的库是 在 Maven 依赖项之前出现的。

Eclipse's screenshot

我做错了什么?

【问题讨论】:

    标签: java eclipse swing maven generics


    【解决方案1】:

    这个类在 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 已停产。

    【讨论】:

    • 非常感谢。我被(提到的)类似问题的答案误导了,建议转移到 1.6 版。不幸的是,我必须坚持 Java 6(客户要求),所以在这种情况下我会避免使用泛型
    • @serkelion 今天修复了一个客户端报告的错误,该错误仅出现在 Java 8 更新 74 中而不是更新 66 中。我想这是一个很好的问题。 ;)
    • 是的,但这只是冰山一角。 ;)
    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 2015-06-15
    • 2019-01-15
    相关资源
    最近更新 更多