gpt4 book ai didi

java - 如何在具有多个类的数组中转换对象?

转载 作者:行者123 更新时间:2023-12-01 18:04:53 24 4
gpt4 key购买 nike

我有一个 JComponent 对象数组,其中包含 JTextField 和 JComboBox 对象。为了提高效率,我选择制作一个数组而不是两个。但是,如果我迭代这些对象,我似乎无法正确地转换它们,因为我的 IDE 无法识别示例代码最后一行中的 .setText() 方法。如何正确施放元素?

JComponent[] items = {JTextField1, JComboBox1};
for (JComponent item : items) {
if (item instanceof JTextField) {
item = (JTextField) item;
item.setText(null);
}
else {
item = (JComboBox) item ;
item.setSelectedIndex(-1);
}
}

最佳答案

就这么简单

if (item instanceof JTextField) {
((JTextField) item).setText(null);
}
else {
((JComboBox) item).setSelectedIndex(-1);
}

说明

当您迭代列表时,每个 item 变量都被视为 JComponent。但您需要的是调用特定子类型的方法(例如 JTextField)。因此,解决方案就是在调用所需方法之前将该 item 变量转换为特定的子类型。

关于java - 如何在具有多个类的数组中转换对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37352193/

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