Nouvelles fonctionnalités de Java 14 pouvant être utilisées pour écrire du code

Java14

Java 14 est sorti le 17 mars 2020. Parmi les fonctions ajoutées dans Java14, je voudrais présenter les fonctions qui peuvent être utilisées pour écrire du code.

record(preview)

Vous pouvez facilement créer une classe pour contenir des données.

public record Customer(String name, String age){}

L'équivalent de la classe suivante est créé.

public class Customer {
    private final String name;

    private final String age;

    public Customer(String name, String age) {
        this.name = name;
        this.age = age;
    }

    public String name() {
        return this.name;
    }

    public String age() {
        return this.age;
    }

    public String hashCode() {...}

    public boolean equals() {...}

    public String toString() {...}
}

La méthode de définition de la valeur n'étant pas définie, la valeur ne peut pas être modifiée après l'instanciation.

Bloc de texte

Il est désormais possible de définir une chaîne de caractères comprenant des sauts de ligne. Si vous entourez la chaîne de caractères avec "" au lieu de "", elle sera reconnue comme un bloc de texte.

String str1 = "aaaa\n"
    + "bbb";

String str2 = """
   aaa
   bbb\
   """

Les deux chaînes ci-dessus indiquent la même chose. Si vous ne souhaitez pas couper la ligne, entrez .

Helpful NullPointerExceptions

Il est désormais possible d'émettre un message détaillé lorsqu'une NullPointerException se produit.

String str = null;
str.length(); // NullPointerException

Par défaut, l'exception suivante est générée.

Exception in thread "main" java.lang.NullPointerException
	at Test.main(Test.java:5)

Dans java14, si vous l'exécutez avec "-XX: + ShowCodeDetailsInExceptionMessages", l'exception détaillée suivante sera générée.

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "<local1>" is null
	at Test.main(Test.java:5)

Instance de correspondance de modèle de (aperçu)

Vous pouvez maintenant définir des variables de ce type tout en vérifiant le type avec instanceof.


Object obj = "obj";
if (obj instanceof String str){
    System.out.println(str.length());
}

Recommended Posts

Nouvelles fonctionnalités de Java 14 pouvant être utilisées pour écrire du code
Nouvelles fonctionnalités de Java 9 et exemple de code
Écrire du code difficile à tester
java1.8 nouvelles fonctionnalités
Code Java qui ne peut pas être utilisé depuis Kotlin (pour les sessions d'étude en interne)
Notez que VS Code + JUnit 5 peut être utilisé sous Windows 10
Écrire du code facile à maintenir (partie 1)
Comment écrire du code qui pense Ruby orienté objet
Écrire du code facile à maintenir (partie 4)
Écrire du code facile à maintenir (partie 3)
Fonctionnalités susceptibles d'entrer dans Java 10 pour le moment
Règles de base à connaître pour écrire du code facile à lire
Ecrire une classe qui peut être ordonnée en Java Un petit mémo standard
Comment écrire du bon code
Le cas où @Autowired n'a pas pu être utilisé dans JUnit5
Découvrez les nouvelles fonctionnalités de Java 7 à Java 9 à la fois
Éléments à prendre en compte lors de l'écriture de code en Java
Si les options peuvent être utilisées en raison des différentes versions de Java
[Java] Code difficile à remarquer mais terriblement lent
Outil d'analyse statique pouvant être utilisé avec GitHub [version Java]
Résumé de l'ORM "uroboroSQL" qui peut être utilisé dans le Java d'entreprise
L'opérateur qui est né pour naître, instanceof (Java) ~ Comment utiliser l'opérateur instanceof ~
Choses à noter pour les nouveaux arrivants d'écrire du code lisible pendant le développement Java
Écrivons un code facile à maintenir (Partie 2) Nom
Java sera impliqué dès aujourd'hui
Être conscient du code facile à lire
Comment rédiger un code facile à comprendre [Résumé 3]
[Android] Convertir le code Java Android en Kotlin
Correspondant à "erreur que l'authentification de base ne réussit pas" dans le code de test "L'histoire qui n'a pas pu être faite"
Traitement d'entrée / sortie de fichier Java pouvant être utilisé via l'historique
Des packages pratiques que les personnes qui ont décidé d'écrire en Java devraient connaître
L'histoire selon laquelle le servlet n'a pas pu être chargé dans l'application Web Java
[Introduction à Java] Comment écrire un programme Java
[Java] Comment sortir et écrire des fichiers!
[Java] Flux du code source à l'exécution
[Android] Je souhaite créer un ViewPager pouvant être utilisé pour les didacticiels
À propos du cas où ("b" .. "aa") ne pourrait pas être utilisé dans Ruby Range
[CentOS8] Puisque la commande javac n'a pas pu être utilisée, installez l'environnement de développement java.
Extrait technologique pouvant être utilisé pour créer des sites EC dans la formation Java
La vue utilisée pour exécuter du code Java lors du débogage dans Eclipse est Debug Shell
Je ne savais pas que les classes internes pouvaient être définies dans l'interface [Java]