我想用Type String创建JComboBox,但是将它放在一个数组中,所以我使用通配符表示数组,使用String表示单个元素:
JComboBox<?>[] combos=new JComboBox<?>[10];
...
combos[i]=new JComboBox<String>();
与DefaultComboBoxModels相同:
DefaultComboBoxModel<?>[] comboModels=new DefaultComboBoxModel<?>[10];
...
comboModels[i]=new DefaultComboBoxModel<String>();
将它们分配给对方:
...
combos[i].setModel(comboModels[i]);
现在给编译器错误(捕获#13-of?不适用于捕获#14-of?)。我希望单个元素设置为String,一切都很好。怎么说,怎么处理呢? (除了做它之外)
答案 0 :(得分:0)
Java需要确保,该模型和组合具有相同的类型。在给定的示例中,一旦类型在擦除后消失,则无法执行此操作。您也可以这样设置model<Integer>
到combo<String>
。