有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Swing组件上的Java 7泛型

我有一个类,它扩展了Swing组件,比如:

public class MyCustomClass extends JComboBox

这里的问题是我得到了编译器警告:

JComboBox是一种原始类型。对泛型类型JComboBox的引用应参数化

我不确定是否要参数化JComboBox,以便从这里进一步扩展的任何类都可以使用任何类型的对象。我试着把它当作扩展的JComboBox,等等,但这不起作用。如有任何建议,将不胜感激


共 (2) 个答案

  1. # 1 楼答案

    如果JComboBox的类型参数没有限制,那么可以使用:

    public class MyCustomClass<T> extends JComboBox<T>
    

    如果我没记错语法的话

  2. # 2 楼答案

    参数是您想要在组合框中显示的对象类型

    你的选择是:

    A:MyCustomClass总是需要相同类型的对象,所以您可以执行以下操作:

    public class MyCustomClass extends JComboBox<String>
    

    或者

    B:MyCustomClass仍然没有“足够”深入到树下,以了解它将使用的类的类型。所以你会:

    public class MyCustomClass<T> extends JComboBox<T>