[JAVA] Überprüfen Sie das Ergebnis der generischen Parameterinferenz mit JShell

Sie können das Ergebnis der lokalen Typinferenz einfach überprüfen, indem Sie in JS 10 mit JShell "var" einführen. [^ 1] [^ 1]: / vars ist ein JShell-Befehl.

In JShell wird auch das Inferenzergebnis des Teils "Generics Type Parameters" angezeigt, sodass es Fälle geben kann, in denen es nützlicher ist als der Java-Compiler ("javac"). (* Es gibt individuelle Unterschiede)

$ jshell
|  Welcome to JShell -- Version 10
|  For an introduction type: /help intro
jshell> var as = new ArrayList<String>();
as ==> []

jshell> var ao = new ArrayList<>();
ao ==> []

jshell> var ar = new ArrayList();
ar ==> []

jshell> /vars
|    ArrayList<String> as = []
|    ArrayList<Object> ao = []
|    ArrayList ar = []
jshell> var li = List.of(1, 2);
li ==> [1, 2]

jshell> var lx = List.of(1, 2.0);
lx ==> [1, 2.0]

jshell> var ly = List.of(1, "2");
ly ==> [1, 2]

jshell> /vars
|    List<Integer> li = [1, 2]
|    List<Number&Comparable<? extends Number&Comparable<?>>> lx = [1, 2.0]
|    List<Serializable&Comparable<? extends Serializable&Comparable<?>>> ly = [1, 2]

Für komplexe Typen, die durch die Variablen "lx", "ly" abgeleitet werden, siehe Typinferenz und unendlicher Typ. Ding.

Recommended Posts

Überprüfen Sie das Ergebnis der generischen Parameterinferenz mit JShell
Überprüfen Sie den Inhalt der Parameter mit pry
Überprüfen Sie das Verhalten von Java Intrinsic Locks mit bpftrace
Überprüfen Sie die Funktion von zwei Rollen mit einer Chat-Anwendung
Stellen Sie sicher, dass Sie das Java compareTo-Ergebnis mit 0 vergleichen
Überprüfen Sie die Version von Cent OS
Überprüfen Sie den Migrationsstatus von Schienen
Filtern Sie das Ergebnis von BindingResult [Spring]
Lassen Sie uns das Ergebnis der Analyse von Java-Bytecode in einem Klassendiagramm ausdrücken
Überprüfen Sie den MX-Eintrag der E-Mail-Adresse mit Java und die Domain
Holen Sie sich das Ergebnis von POST in Java
Überprüfen Sie den Inhalt des Java-Zertifikatspeichers
Anmerkung: [Java] Überprüfen Sie den Inhalt des Verzeichnisses
Überprüfen Sie den Verarbeitungsinhalt mit [Rails] Binding.pry
Über die Behandlung von BigDecimal (mit Reflexion)
Formatieren Sie den Inhalt von LocalDate mit DateTimeFormatter
Überprüfen Sie die Version der Standard-Web-Software.
[Java] Überprüfen Sie die Anzahl der Zeichen
Überprüfen Sie die Funktion der Schnittstelle über den Thread
Ein kurzer Hinweis zur Verwendung von jshell mit dem offiziellen Docker-Image des JDK
Überprüfen Sie die installierte und aktivierte JDK-Version
Überprüfen Sie den Inhalt des Argumentobjekts mit Mockito
Verwalten Sie die Version von Ruby selbst mit rbenv
Überschreiben Sie den Inhalt der Konfiguration mit Spring-boot + JUnit5
Die Geschichte der Optimierung der Android-App mit libGDX
Lassen Sie uns das Gefühl von Spring Boot + Swagger 2.0 überprüfen
Berechnen Sie die Ähnlichkeitsbewertung von Zeichenketten mit JAVA
So zeigen Sie das Ergebnis des Ausfüllens des Formulars an
Bereiten Sie die CentOS 8-Umgebung mit Sakura VPS vor
Geben Sie den Standardwert mit @Builder of Lombok an
Messen Sie den Abstand des Labyrinths mit der Suche nach Breitenpriorität
Ich habe die Anzahl der Taxis mit Ruby überprüft
Ich habe versucht, den Betrieb der http-Anfrage (Put) mit dem Talented API Tester zu überprüfen