2011-02-10 41 views
24

HI的所选项目的首选方式,得到的JComboBox

这是正确的方式来获得的JComboBox作为一个字符串值,为什么它的正确方法。谢谢。

String x = JComboBox.getSelectedItem().toString(); 

String x = (String)JComboBox.getSelectedItem(); 

回答

37

如果你只把(非空)在JComboBox中String引用,那么无论哪种方式是好的。

但是,第一种解决方案还允许您在未来的修改中插入Integer s,Doubles s,LinkedList s等作为组合框中的项目。

是反对null值(仍然没有铸造)强大的,你可以考虑第三种选择:

String x = String.valueOf(JComboBox.getSelectedItem()); 
5

第一种方法是正确的。

第二种方法杀死小猫,如果您试图在除Object方法之外的事实之后使用x执行任何操作。

+3

+1我们不想杀小猫! – 2011-02-10 20:45:41

+1

那么,第一种方法杀死空白项目上的小猫。看到我的答案为小猫保存解决方案;) – aioobe 2011-02-10 20:46:46

+5

@aioobe:为什么我们关心`null`小猫? :) – James 2011-02-10 20:55:09

1

除非必须,否则不要施放。调用toString()并没有错误。

0

注意这不是关于JComboBox的问题,而是关于任何可以包含多种类型对象的集合。 “我如何从列表中获得一个字符串?”也可以这样说。或“如何从Object[]中得到String?”

0
String x = JComboBox.getSelectedItem().toString(); 

将转换任何价值的天气是整数,双,长,短进,另一方面文本 ,

String x = String.valueOf(JComboBox.getSelectedItem()); 

将避免空值,并且从对象转换所选择的项目串

0
JComboBox mycombo=new JComboBox(); //Creates mycombo JComboBox. 
add(mycombo); //Adds it to the jframe. 

mycombo.addItem("Hello Nepal"); //Adds data to the JComboBox. 

String s=String.valueOf(mycombo.getSelectedItem()); //Assigns "Hello Nepal" to s. 

System.out.println(s); //Prints "Hello Nepal".