HI,
将JComboBox中的值作为String获取的正确方法是什么,为什么它是正确的方法。感谢。
String x = JComboBox.getSelectedItem().toString();
或
String x = (String)JComboBox.getSelectedItem();
答案 0 :(得分:38)
如果你只在JComboBox中放入(非空)String
引用,那么两种方法都可以。
但是,第一个解决方案还允许将来修改,您可以在组合框中插入Integer
,Doubles
,LinkedList
等作为项目。
要对null
值保持稳健(仍然没有强制转换),您可以考虑第三种选择:
String x = String.valueOf(JComboBox.getSelectedItem());
答案 1 :(得分:5)
第一种方法是对的。
如果您在x
方法以外的事实之后尝试对Object
执行任何操作,则第二种方法会杀死小猫。
答案 2 :(得分:1)
除非必须,否则不要施放。调用toString()没有错。
答案 3 :(得分:0)
请注意,这不是关于JComboBox的问题,而是关于任何可以包含多种类型对象的集合。对于“如何从列表中获取字符串?”也可以这样说。或“如何从String
中获得Object[]
?”
答案 4 :(得分:0)
String x = JComboBox.getSelectedItem().toString();
将任意值天气转换为整数,双,长,短文本 另一方面,
String x = String.valueOf(JComboBox.getSelectedItem());
将避免空值,并将所选项目从对象转换为字符串
答案 5 :(得分: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".