[JAVA] Vérifiez le résultat de l'inférence de paramètre de type générique avec JShell

Vous pouvez facilement vérifier le résultat de l'inférence de type local par var introduit dans Java 10 avec JShell. [^ 1] [^ 1]: / vars est une commande JShell.

Dans JShell, le résultat de l'inférence de la section Generics Type Parameters est également affiché, il peut donc y avoir des cas où il est plus utile que le compilateur Java (javac). (* Il existe des différences individuelles)

$ 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]

Pour les types complexes déduits par les variables lx, ly, voir Inférence de type et type infini. chose.

Recommended Posts

Vérifiez le résultat de l'inférence de paramètre de type générique avec JShell
Vérifiez le contenu des paramètres avec le levier
Vérifiez le comportement de Java Intrinsic Locks avec bpftrace
Vérifier le fonctionnement de deux rôles avec une application de chat
Assurez-vous de comparer le résultat Java compareTo avec 0
Vérifiez la version de Cent OS
Vérifier l'état de migration des rails
Filtrer le résultat de BindingResult [Spring]
Exprimons le résultat de l'analyse du code d'octet Java dans un diagramme de classes
Vérifiez l'enregistrement MX de l'adresse e-mail avec java et vérifiez le domaine
Obtenez le résultat de POST en Java
Vérifiez le contenu du magasin de certificats Java
Mémo: [Java] Vérifiez le contenu du répertoire
Vérifiez le contenu du traitement avec [rails] binding.pry
À propos du traitement de BigDecimal (avec réflexion)
Mettre en forme le contenu de LocalDate avec DateTimeFormatter
Vérifiez la version du logiciel Web standard.
[Java] Vérifiez le nombre d'occurrences de caractères
Vérifiez le fonctionnement de l'interface à travers le thread
Une note rapide sur l'utilisation de jshell avec l'image Docker officielle du JDK
Vérifiez la version de JDK installée et la version de JDK activée
Vérifiez le contenu de l'objet argument avec Mockito
Gérez la version de Ruby elle-même avec rbenv
Écraser le contenu de la configuration avec Spring-boot + JUnit5
L'histoire du réglage de l'application Android avec libGDX
Vérifions la sensation de Spring Boot + Swagger 2.0
Calculer le score de similarité des chaînes de caractères avec JAVA
Comment afficher le résultat du remplissage du formulaire
Préparez l'environnement CentOS 8 avec Sakura VPS
Spécifiez la valeur par défaut avec @Builder of Lombok
Mesurez la distance du labyrinthe avec la recherche de priorité de largeur
J'ai vérifié le nombre de taxis avec Ruby
J'ai essayé de vérifier le fonctionnement de la requête http (Put) avec Talented API Tester