Предпочтительный способ получения выбранного элемента JComboBox
HI,
Каков правильный способ получить значение из JComboBox как String и почему он правильный. Спасибо.
String x = JComboBox.getSelectedItem().toString();
или
String x = (String)JComboBox.getSelectedItem();
Ответы
Ответ 1
Если в JComboBox есть только ссылки (не нулевые) String
, то в любом случае это нормально.
Однако первое решение также позволит в будущем вносить изменения, в которые вы вставляете Integer
s, Doubles
s, LinkedList
и т.д. как элементы в поле со списком.
Чтобы быть устойчивым к значениям null
(все еще без кастинга), вы можете рассмотреть третий вариант:
String x = String.valueOf(JComboBox.getSelectedItem());
Ответ 2
Первый метод прав.
Второй метод убивает котят, если вы пытаетесь сделать что-либо с помощью x
после факта, отличного от методов Object
.
Ответ 3
Не бросайте, если вы не должны. Там nothign неправильно с вызовом toString().
Ответ 4
String x = JComboBox.getSelectedItem().toString();
преобразует любое значение погоды в Integer, Double, Long, Short into text
с другой стороны,
String x = String.valueOf(JComboBox.getSelectedItem());
избежит нулевых значений и преобразует выбранный элемент из объекта в строку
Ответ 5
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".
Ответ 6
Обратите внимание, что это не является вопросом о JComboBox, а о любой коллекции, которая может включать в себя несколько типов объектов. То же самое можно сказать и для "Как получить строку из списка?" или "Как получить String
из Object[]
?"