HALLO,
Dies ist der richtige Weg, um den Wert einer JComboBox als String abzurufen, und warum ist dies der richtige Weg. Vielen Dank.
String x = JComboBox.getSelectedItem().toString();
oder
String x = (String)JComboBox.getSelectedItem();
Wenn Sie nur (nicht-null) String
-Referenzen in die JComboBox eingefügt haben, ist eine der beiden Möglichkeiten in Ordnung.
Die erste Lösung würde jedoch auch zukünftige Änderungen zulassen, bei denen Sie Integer
s, Doubles
s, LinkedList
s usw. als Elemente in das Kombinationsfeld einfügen.
Um robust gegen null
-Werte (noch ohne Casting) zu sein, können Sie eine dritte Option in Betracht ziehen:
String x = String.valueOf(JComboBox.getSelectedItem());
Die erste Methode ist richtig.
Die zweite Methode tötet Kätzchen, wenn Sie versuchen, etwas mit x
zu tun, nachdem die Tatsache anders als Object
-Methoden ist.
Besetzung nicht, wenn Sie müssen. Es ist nichts falsch daran, toString () aufzurufen.
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".
Beachten Sie, dass dies im Kern keine Frage von JComboBox ist, sondern von einer Sammlung, die mehrere Objekttypen enthalten kann. Dasselbe könnte man für "Wie bekomme ich einen String aus einer Liste?" oder "Wie bekomme ich eine String
aus einem Object[]
?"
String x = JComboBox.getSelectedItem().toString();
konvertiert jeden Wert, wenn er Integer, Double, Long, Short ist, in Text
String x = String.valueOf(JComboBox.getSelectedItem());
vermeidet Nullwerte und konvertiert das ausgewählte Element vom Objekt in den String