gpt4 book ai didi

java - JCombobox - 参数化时添加二维字符串数组没有成功

转载 作者:行者123 更新时间:2023-12-01 08:01:21 25 4
gpt4 key购买 nike

如果我实例化 Swing 的 JCombobox 类并向其中添加 String[][]-items - 除了收到以下警告之外,没有任何问题:

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

好吧 - 我通过以下方式参数化对象

private JComboBox <String[][]> myComboBox = new JComboBox <String[][]> ();

一开始看起来不错,因为警告消失了,但是当我想从 String[][]-object 添加项目时出现错误

 myComboBox.addItem(this.stringList[i][1]);

错误消息:

 *the method addItem(String[][]) in the type JComboBox <String[][]> is not applicable for the arguments (String).*

我做错了什么以及如何解决?

顺便说一句 - 如果您有时间回答更多问题 - 使用原始类型有危险/缺点吗?

最佳答案

好吧,当你参数化JComboBox时与 <String[][]> ,方法addItem()需要 String[][]作为参数:

public void addItem(String[][] item) { // method signature when <String[][]>

在您的示例中,您试图传递正常的 String ,这显然是不允许的,因为它不是 String[][] .

要解决此问题,只需使用 String 对其进行参数化即可。 :

private JComboBox<String> myComboBox = new JComboBox<>();

有关原始类型的更多信息,请参阅该问题的详细答案:
What is a raw type and why shouldn't we use it?

关于java - JCombobox - 参数化时添加二维字符串数组没有成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25043929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com