Предпочтительный способ получения выбранного элемента JComboBox - PullRequest
27 голосов
/ 10 февраля 2011

HI,

Какой правильный способ получить значение из JComboBox в виде строки и почему это правильный путь.Спасибо.

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

или

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

Ответы [ 6 ]

38 голосов
/ 10 февраля 2011

Если вы поместили только (ненулевые) ссылки String в JComboBox, то в любом случае все в порядке.

Однако первое решение также учитывает будущие модификации, в которые вы вставляете Integer s, Doubles s, LinkedList s и т. д. как элементы в поле со списком.

Чтобы быть устойчивыми к null значениям (все еще без приведения), вы можете рассмотреть третий вариант:

String x = String.valueOf(JComboBox.getSelectedItem());
5 голосов
/ 10 февраля 2011

Первый метод правильный.

Второй метод убивает котят, если вы пытаетесь что-то сделать с x после факта, отличного от Object методов.

1 голос
/ 10 февраля 2011

Не разыгрывай, если не обязан. Нет ничего плохого в том, чтобы вызывать toString ().

0 голосов
/ 24 декабря 2016
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 голосов
/ 29 сентября 2016
String x = JComboBox.getSelectedItem().toString();

преобразует любое значение, если оно целое, двойное, длинное, короткое, в текст с другой стороны,

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

исключит нулевые значения и преобразует выбранный элемент из объекта в строку

0 голосов
/ 11 февраля 2011

Обратите внимание, что это не вопрос о JComboBox, а о любой коллекции, которая может включать в себя несколько типов объектов. То же самое можно сказать и о том, «Как я могу получить строку из списка?» или «Как мне получить String из Object[]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...