[Java] Jetons un coup d'œil aux expressions de commutation (aperçu) du JDK 13.

Cinq caractéristiques importantes d'OpenJDK 13

350: Dynamic CDS Archives 351: ZGC: Uncommit Unused Memory 353: Reimplement the Legacy Socket API 354: Switch Expressions (Preview) 355: Text Blocks (Preview)

Parmi ce qui précède, je voudrais aujourd'hui jeter un coup d'œil à "Switch Expressions (Preview)".

Switch Expressions (Preview)

・ Étiquettes fléchées


static void howMany(int k) {
    switch (k) {
        case 1  -> System.out.println("one");
        case 2  -> System.out.println("two");
        default -> System.out.println("many");
    }
}

J'avais l'habitude d'utiliser le "cas L:" conventionnel, mais maintenant il peut être utilisé comme "cas L->". Cependant, si vous écrivez quelque chose comme "case L->", il n'y a pas de full through, donc vous n'avez pas à écrire break.

Lors de l'appel, ce sera comme suit.

howMany(1);
howMany(2);
howMany(3);
résultat

one
two
many

・ Changer d'expressions

switch est désormais disponible dans expression.


static void howMany(int k) {
    System.out.println(
        switch (k) {
            case  1 -> "one"
            case  2 -> "two"
            default -> "many"
        }
    );
}

Vous pouvez donc également affecter le résultat de l'instruction switch à une variable.


T result = switch (arg) {
    case L1 -> e1;
    case L2 -> e2;
    default -> e3;
};

・ Rendre une valeur

Le mot clé "yield" a été ajouté.


int j = switch (day) {
    case MONDAY  -> 0;
    case TUESDAY -> 1;
    default      -> {
        int k = day.toString().length();
        int result = f(k);
        yield result; //Définir la valeur de retour de l'instruction switch
    }
};

"Yield" peut également être utilisé dans l'instruction switch de l'expression "case L:".


int result = switch (s) {
    case "Foo": 
        yield 1;
    case "Bar":
        yield 2;
    default:
        System.out.println("Neither Foo nor Bar, hmmm...");
        yield 0;
};

référence

Recommended Posts

[Java] Jetons un coup d'œil aux expressions de commutation (aperçu) du JDK 13.
Jetons un coup d'œil à l'écran de Quant Analyzer!
Jetons un coup d'œil aux fonctions de la console de gestion Keycloak (édition administrateur)
Jetons un coup d'œil à la procédure de démarrage de la JVM Hotspot
Jetez un œil à Kotlin dans une perspective Java efficace
Jetons un coup d'œil aux fonctions de la console de gestion de Keycloak (édition utilisateur), service de compte utilisateur
Créons une application TODO en Java 5 Changer l'affichage de TODO
Nommer un groupe d'expressions régulières (Java)
Faisons un robot! "Une simple démo de Java AWT Robot"
[Java] Résumé des expressions régulières
Créons une application TODO en Java 4 Implémentation de la fonction de publication
Créons une application TODO en Java 6 Implémentation de la fonction de recherche
Créons une application TODO en Java 8 Implémentation des fonctions d'édition
J'ai jeté un coup d'œil aux ressources d'Azure Container Instance
Créons une application TODO avec Java 1 Brève explication de MVC
Retour rapide sur Java au cours des cinq dernières années
Trier la liste des objets Java
Une brève description des dépendances JAVA
L'origine des expressions Java lambda
Comprendre un peu la formule lambda
Exprimons le résultat de l'analyse du code d'octet Java dans un diagramme de classes