355 Stimmen

Was führt dazu, dass javac die Warnung "uses unchecked or unsafe operations" ausgibt

Zum Beispiel:

javac Foo.java
Note: Foo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

0voto

CoolMind Punkte 21914

Ich habe ArrayList<Map<String, Object>> items = (ArrayList<Map<String, Object>>) value; . Denn value ist eine komplexe Struktur (ich möchte sauberes JSON ), können beliebige Kombinationen aus Zahlen, Booleschen Werten, Strings und Arrays auftreten. Also habe ich die Lösung von @Dan Dyer verwendet:

@SuppressWarnings("unchecked")
ArrayList<Map<String, Object>> items = (ArrayList<Map<String, Object>>) value;

-1voto

Mahadi Hasan Punkte 61

Diese Warnung kann auch ausgelöst werden durch

new HashMap() oder new ArrayList(), die vom generischen Typ sind, müssen spezifisch sein, sonst erzeugt der Compiler eine Warnung.

Bitte stellen Sie sicher, dass Sie, wenn Ihr Code Folgendes enthält, dies entsprechend ändern müssen

new HashMap() => Map<String,Object> map = new HashMap<String,Object>()
new HashMap() => Map<String,Object> map = new HashMap<>()

new ArrayList() => List<String,Object> map = new ArrayList<String,Object>()
new ArrayList() => List<String,Object> map = new ArrayList<>()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X