开发者

Preferred way of getting the selected item of a JComboBox

开发者 https://www.devze.com 2023-02-09 16:18 出处:网络
HI, Which is the correct way to get the value 开发者_如何学Gofrom a JComboBox as a String and why is it the correct way. Thanks.

HI,

Which is the correct way to get the value 开发者_如何学Gofrom a JComboBox as a String and why is it the correct way. Thanks.

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

or

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


If you have only put (non-null) String references in the JComboBox, then either way is fine.

However, the first solution would also allow for future modifications in which you insert Integers, Doubless, LinkedLists etc. as items in the combo box.

To be robust against null values (still without casting) you may consider a third option:

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


The first method is right.

The second method kills kittens if you attempt to do anything with x after the fact other than Object methods.


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

will convert any value weather it is Integer, Double, Long, Short into text on the other hand,

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

will avoid null values, and convert the selected item from object to string


Don't cast unless you must. There's nothign wrong with calling toString().


Note this isn't at heart a question about JComboBox, but about any collection that can include multiple types of objects. The same could be said for "How do I get a String out of a List?" or "How do I get a String out of an Object[]?"


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".
0

精彩评论

暂无评论...
验证码 换一张
取 消