Warning: unchecked

Herr Kaiser

Bekanntes Mitglied
Hi Forum,

Netbeans beanstandet bei mir vom eigenen GUI-Builder generierten Code. Folgende Zeile:

Java:
comboTest.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

wirft beim Compilieren die beiden folgenden Warnungen:

warning: [unchecked] unchecked call to DefaultComboBoxModel(E[]) as a member of the raw type DefaultComboBoxModel comboTest.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); where E is a type-variable: E extends Object declared in class DefaultComboBoxModel

warning: [unchecked] unchecked call to setModel(ComboBoxModel<E>) as a member of the raw type JComboBox comboTest.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); where E is a type-variable: E extends Object declared in class JComboBox



Aus der bisherigen Suche und Recherche zum Thema habe ich geschlussfolgert, dass ich den Datentyp mit <String> spezifizieren muss. Mir ist das aber in dieser Zeile bisher syntaktisch nicht richtig gelungen. Hättet Ihr einen Rat? Mir ist klar, dass ich die Warnung vermutlich ignorieren und deren Ausgabe unterdrücken könnte. Aber das befriedigt mich nicht. Außerdem kann ich Anfänger ja was lernen. Wie müsste die Syntax aussehen, um die Warnung überflüssig zu machen?

Zusatzfrage: Netbeans verbittet sich ja das Editieren des automatisch generierten Codes. Kann man das deaktiveren oder muss ich GUI-Builder-Code immer über einen externen Editor verändern?

Danke im Voraus! :)
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Set Java 1.7 hat JComboBox (und das Model) einen Typparameter. Mit
new javax.swing.DefaultComboBoxModel<String>(...)
müßte es gehen. Die JComboBox steht wohl noch als
private JComboBox comboTest;
irgendwo, da müßte auch noch ein
private JComboBox<String> comboTest;
hin.

Vermutlich wird der GUI-Builder bald aktualisiert, das ist erst ganz neu und dort offenbar noch nicht drin. Zu weiteren NetBeans-spezifischen Fragen lass' ich mal andere vor... ;)
 

Herr Kaiser

Bekanntes Mitglied
Danke, Marco,

ja, super, ich hatte einen dummen Schreibfehler begangen. Genau so, wie du es vorgeschlagen hast, funktioniert es jetzt.

Java:
private javax.swing.JComboBox<String> comboTest = new javax.swing.JComboBox<String>();
comboTest.setModel(new javax.swing.DefaultComboBoxModel<String>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

Einzige verbleibende Irritation:
Der Compiler hat nichts mehr zu meckern, aber in der IDE erscheint in der zweiten veränderten Zeile nun der Hinweis:
redundant type arguments in new expression (use diamond operator instead) - welchen ich doch soeben eingefügt habe, oder? Wird der noch an anderer Stelle gewünscht (grübel)?

Vielen Dank für deine Hilfestellung! :)
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Zugegeben, diese Warnung kenne ich nicht, weil ich meistens noch mit 1.6 arbeite... der Diamond-Operator ist das, was rauskommt, wenn man den "String" wegläßt
comboTest.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] {...}));

Hmmmmm... einerseits ist der Operator zwar praktisch, speziell wenn man statt
List<Map<String,List<Integer>>> list = new ArrayList<Map<String,List<Integer>>>();
einfach schreiben kann
List<Map<String,List<Integer>>> list = new ArrayList<>();
aber ... ich finde, dass die erste Variante keine Warnung generieren sollte ... vermutlich ist es auch "nur" eine Warnung der IDE...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Temsky34 Wie bekomme ich dieses Java-Warning wieder weg? Java Basics - Anfänger-Themen 2
A warning: [deprecation] Java Basics - Anfänger-Themen 3
P Casting Warning bei Iterator Java Basics - Anfänger-Themen 32
C Warning: Type safety: Potential heap pollution via varargs parameter array Java Basics - Anfänger-Themen 5
J Compiler-Fehler Verständnis Problem bei Compiler-Warning Java Basics - Anfänger-Themen 7
H Warning: proprietary API Java Basics - Anfänger-Themen 9
lumo Warning - was wollen die? Java Basics - Anfänger-Themen 4
S compiler warning Java Basics - Anfänger-Themen 2
R Java 5.0 / String.format - Warning Java Basics - Anfänger-Themen 8
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
MiMa Was bedeutet unchecked or unsafe operations? Java Basics - Anfänger-Themen 6
O unchecked Exception Java Basics - Anfänger-Themen 4
N Unterschied zwischen Checked und Unchecked Exceptions Java Basics - Anfänger-Themen 12
R Note: uses unchecked or unsafe operations Java Basics - Anfänger-Themen 4
B Datentypen Casts typesafe machen? ("unchecked") Java Basics - Anfänger-Themen 10
N Generic clonen => eclipse empfiehlt @SuppressWarnings("unchecked") Java Basics - Anfänger-Themen 2
D Wie "unchecked cast" hier vermeiden? Java Basics - Anfänger-Themen 2
M Generics - "Unchecked cast"-Warnung wegbekommen Java Basics - Anfänger-Themen 4
A Unterschied zwischen Checked und unchecked Exception Java Basics - Anfänger-Themen 3
S ArrayList<Element> - "unchecked or unsafe operati Java Basics - Anfänger-Themen 13
P unchecked conversion to conform to Comparator Java Basics - Anfänger-Themen 3
C Unchecked Call? Wie Warnung beseitigen? Java Basics - Anfänger-Themen 3
G Frage zu: @SuppressWarnings("unchecked") Java Basics - Anfänger-Themen 4
S "Unchecked Cast" Warnung Java Basics - Anfänger-Themen 3
T "Unchecked or unsave Opertions"-Fehler beseitigen Java Basics - Anfänger-Themen 16
G hashtable und unsafe, unchecked Code Java Basics - Anfänger-Themen 3
S Fehlermeldung: uses unchecked or unsafe operations ? Java Basics - Anfänger-Themen 6
D Vector - unchecked Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben