Java JCombobox-参数化时添加2d字符串数组不成功

Java JCombobox-参数化时添加2d字符串数组不成功,java,swing,generics,jcombobox,Java,Swing,Generics,Jcombobox,如果我实例化Swing的JCombobox类并向其添加字符串[][]]-项,那么除了得到以下警告之外,没有问题: JComboBox是一种原始类型。对泛型类型JComboBox的引用应参数化 我用以下方式参数化对象 private JComboBox <String[][]> myComboBox = new JComboBox <String[][]> (); 错误消息: *JComboBox类型中的方法addItem(String[][])不适用于参数(String

如果我实例化Swing的JCombobox类并向其添加字符串[][]]-项,那么除了得到以下警告之外,没有问题:

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

我用以下方式参数化对象

private JComboBox <String[][]> myComboBox = new JComboBox <String[][]> ();
错误消息:

*JComboBox类型中的方法addItem(String[][])不适用于参数(String)*
我做错了什么?如何解决它?


顺便问一下,如果您有时间回答更多问题,那么使用rawtypes是否存在危险/缺点?

好吧,当您使用
参数化
JComboBox
时,方法
addItem()
需要一个
字符串[]
作为参数:

public void addItem(String[][] item) { // method signature when <String[][]>
有关rawtypes的更多信息,请参见该问题的详细答案:

当您使用
参数化
JComboBox
时,方法
addItem()
需要一个
字符串[][]
作为参数:

public void addItem(String[][] item) { // method signature when <String[][]>
有关rawtypes的更多信息,请参见该问题的详细答案:

我假设
stringList
是一个
String[][]
所以它包含
String
s。执行
stringList[i][1]
操作时,您将在第i行和第1列中获得
字符串。如果您真的想添加整个数组,只需执行
add(stringList)。错误消息实际上表示您正在尝试添加一个
字符串
。我假设
stringList
是一个
String[][]
,因此它包含
String
s。执行
stringList[i][1]
操作时,您将在第i行和第1列中获得
字符串。如果您真的想添加整个数组,只需执行
add(stringList)。错误消息实际上表示您正在尝试添加
字符串。
public void addItem(String[][] item) { // method signature when <String[][]>
private JComboBox<String> myComboBox = new JComboBox<>();