Heim > Java > javaLernprogramm > Warum warnt Javac vor ungeprüften oder unsicheren Vorgängen in Java?

Warum warnt Javac vor ungeprüften oder unsicheren Vorgängen in Java?

DDD
Freigeben: 2024-12-27 18:26:14
Original
674 Leute haben es durchsucht

Why Does Javac Warn About Unchecked or Unsafe Operations in Java?

Warum gibt Javac die Warnung „Verwendet ungeprüfte oder unsichere Vorgänge“ aus?

Beim Kompilieren von Java-Code mit javac können Entwickler auf die Warnung stoßen :

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

Diese Warnung weist darauf hin, dass der Compiler potenzielle Typsicherheitsprobleme im erkannt hat Code.

Ursache der Warnung:

Die Warnung kann auftreten, wenn Sammlungen ohne Typspezifizierer in Java-Versionen 5 und höher verwendet werden. Wenn Sie beispielsweise Arraylist() anstelle von ArrayList() verwenden, wird diese Warnung ausgelöst. Dies deutet darauf hin, dass der Compiler die typsichere Verwendung der Sammlung aufgrund fehlender generischer Typinformationen nicht überprüfen kann.

Lösung:

Um die Warnung zu beseitigen, geben Sie an die Art der Objekte, die in der Sammlung gespeichert werden sollen. Anstelle von:

List myList = new ArrayList();
Nach dem Login kopieren

Verwenden Sie:

List<String> myList = new ArrayList<String>();
Nach dem Login kopieren

Dies verdeutlicht den erwarteten Typ von Elementen in der Sammlung und ermöglicht dem Compiler die Durchführung einer Typprüfung.

Typinferenz in Java 7:

Ab Java 7 kann Typinferenz eingesetzt werden um die generische Instanziierung zu vereinfachen. Mit dem folgenden Codeausschnitt wird dasselbe wie im vorherigen Beispiel erreicht:

List<String> myList = new ArrayList<>();
Nach dem Login kopieren

Durch die Nutzung der Typinferenz kann der Compiler den generischen Typ aus dem Typ der Elemente ableiten, die der Sammlung hinzugefügt werden.

Das obige ist der detaillierte Inhalt vonWarum warnt Javac vor ungeprüften oder unsicheren Vorgängen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage