对于我的家庭作业,只有在选择的组合框值为“深碟”时,我才需要在总数上加2
“我试过了”
thickness.getSelectedItem().contentEquals("deep dish")
{
total += 2.00;
}
我得到的错误是,contentequals对于该类型的对象是未定义的,我不知道正确的方法。为了清楚起见,
String[] choices = {"thin","original","deep dish"};
thickness = new JComboBox(choices);
1条答案
按热度按时间lpwwtiir1#
因为jcombobox是泛型类型。您使用的构造函数是Java5之前的样式。意味着您在编译时不会得到泛型提供的类型检查。我的建议是使用ide,它突出了编辑器中的一些明显错误。创建jcombobox的正确方法是:
你看,
thickness.getSelectedItem()
现在将返回一个字符串。编辑
我只是看看里面
javax.swing.JComboBox.java
它们忽略方法的泛型类型信息getSelectedItem()
:您有两个选择:1)继续使用方法
contentEquals
类型String
,但请在代码中显式执行类型转换:此选项更简单,并且依赖于
equals
类型Object
是多态的类型String
你可以放心地称之为。一般的模式是在常量字符串上调用它(以避免NullPointerException
):