Es wurde bestätigt, dass dieser Artikel in den folgenden Umgebungen funktioniert. Ich denke jedoch, dass der Inhalt für andere Versionen und andere Anbieter gültig ist (´ ・ ω ・ `)
C:\jdk>java -version
openjdk version "12" 2019-03-19
OpenJDK Runtime Environment (build 12+33)
OpenJDK 64-Bit Server VM (build 12+33, mixed mode, sharing)
C:\jdk>javac -version
javac 12
Zum Beispiel, wenn Sie den folgenden Code haben:
import java.util.List;
public class Sample {
public static void main(String[] args) {
List list001;
List list002;
List list003;
List list004;
List list005;
//Weggelassen, weil es lang ist
List list196;
List list197;
List list198;
List list199;
List list200;
}
}
Da es kompliziert ist, werden einige Teile weggelassen, aber 200 Listen werden als Prototyp (Rohtyp) deklariert. Wenn ich also mit der Option -Xlint kompiliere, möchte ich, dass 200 Warnungen ausgegeben werden, aber in Wirklichkeit werden nur 100 ausgegeben.
C:\jdk>javac -Xlint Sample.java
Sample.java:5:Warnung:[rawtypes]Roher Typ gefunden: List
List list001;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:6:Warnung:[rawtypes]Roher Typ gefunden: List
List list002;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:7:Warnung:[rawtypes]Roher Typ gefunden: List
List list003;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
(Weggelassen, weil es wie immer lang ist)
Sample.java:102:Warnung:[rawtypes]Roher Typ gefunden: List
List list098;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:103:Warnung:[rawtypes]Roher Typ gefunden: List
List list099;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:104:Warnung:[rawtypes]Roher Typ gefunden: List
List list100;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
100 Warnungen
Die maximale Anzahl von Warnungen zur Kompilierungszeit kann mit der Option "-Xmaxwarns" festgelegt werden. Dieser Wert scheint standardmäßig 100 zu sein, daher wurden im obigen Beispiel nur 100 Warnungen ausgegeben. Wenn Sie also 200 Warnungen ausgeben möchten oder wenn Sie unbegrenzt viele Warnungen ausgeben möchten, können Sie in der Option "-Xmaxwarns" einen großen Wert festlegen.
C:\jdk>javac -Xlint -Xmaxwarns 999999 Sample.java
Sample.java:5:Warnung:[rawtypes]Roher Typ gefunden: List
List list001;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:6:Warnung:[rawtypes]Roher Typ gefunden: List
List list002;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:7:Warnung:[rawtypes]Roher Typ gefunden: List
List list003;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
(Weggelassen, weil es lang ist)
Sample.java:202:Warnung:[rawtypes]Roher Typ gefunden: List
List list198;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:203:Warnung:[rawtypes]Roher Typ gefunden: List
List list199;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:204:Warnung:[rawtypes]Roher Typ gefunden: List
List list200;
^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
200 Warnungen
--Bonus 1: Mit -Xmaxerrs
können nicht nur Warnungen, sondern auch der Maximalwert von Kompilierungsfehlern angegeben werden.