0

我想将不同的枚举添加到单个 JComboBox。这是代码的样子。类型包含 3 种不同类型的枚举(颜色、形状、尺寸)。

final JComboBox typeJComboBox = new JComboBox(Type.Colors.values());
for(Type.Shapes shape: Type.Shapes.values()) {
typeJComboBox .addItem(shape);
}
for(Type.Dimensions dimension : Type.Dimensions.values()) {
typeJComboBox .addItem(dimension );
}

我使用什么通用类型?使用 eclipse 时,JComboBox 下有一条黄色波浪线,当您将鼠标悬停在它上面时,它会显示“推断通用类型参数...”。

4

1 回答 1

0

你可以这样做:

public static <E extends Enum<?>> void main(String[] args)
{
    final JComboBox<E> typeJComboBox = new JComboBox(Type.Colors.values());
    for(Type.Shapes shape : Type.Shapes.values())
    {
        typeJComboBox.addItem((E) shape);
    }
    for(Type.Dimensions dimension : Type.Dimensions.values())
    {
        typeJComboBox.addItem((E) dimension);
    }
}
于 2013-08-17T21:52:11.167 回答