我有一个这样的组合框:
static final String[] intString = {"Dist.","4","5","6","7","8"};
static JComboBox numList = numList = new JComboBox(intString);
我需要抓取选择了哪个项目并将其转换为 int 类型。我用这个:
Integer.parseInt(numList.getSelectedItem().toString()
但老实说,不明白为什么它会起作用。如果我不包括“toString()”,则相关的错误是:
parseInt(string) in Integer cannot be applied to Object
那么,我传递了一个字符串,列表中的项目现在是对象吗?我知道,当您拥有一个类并对其进行实例化时,您实际上是在创建对具有该类的所有关联方法和实例变量的对象的引用。但除了这个概念之外,我不了解对象的创建、时间和原因。
为什么列表中的项目现在是对象,以及如何将对象转换为字符串?我知道您可以在引用超类时传递子类:
ArrayList<Object> dogList = new ArrayList<Object>();
Dog yorkie = new Dog();
dogList.add(yorkie); //since Dog extends object
Dog doberman = (Dog) dogList[0]; //re-cast to original type
也许这个概念是相似的。
谢谢你。