Maison  >  Article  >  Java  >  Comment utiliser la correspondance de modèles pour la correspondance de modèles de type dans Java 14

Comment utiliser la correspondance de modèles pour la correspondance de modèles de type dans Java 14

王林
王林original
2023-07-31 12:01:13846parcourir

Comment utiliser Pattern Matching pour la correspondance de modèles de types dans Java 14

Introduction :
Java 14 introduit une nouvelle fonctionnalité, Pattern Matching, qui est un outil puissant pour la correspondance de modèles de types au moment de la compilation. Cet article explique comment utiliser la correspondance de modèles pour la correspondance de modèles de type dans Java 14 et fournit des exemples de code.

  1. Comprenez le concept de correspondance de modèles
    La correspondance de modèles est une fonctionnalité qui effectue une correspondance de modèles en fonction de la valeur et du type d'une expression au moment de la compilation. Il simplifie grandement le processus d'écriture d'instructions conditionnelles et fournit un code plus concis et plus lisible. En Java, Pattern Matching est implémenté à l'aide de l'opérateur "instanceof" et du nouveau mot-clé "var".
  2. Utilisation de base
    Dans Java 14, vous pouvez utiliser l'opérateur "instanceof" et le nouveau mot-clé "var" pour la correspondance de modèles de type. Voici un exemple simple :
public static void main(String[] args) {
    Object obj = "Hello, World";
    if (obj instanceof String str) {
        System.out.println("The object is of type String: " + str);
    } else {
        System.out.println("The object is not of type String");
    }
}

Dans cet exemple, nous déclarons d'abord une variable "obj" de type Object, dont la valeur est "Hello, World". On utilise ensuite l'opérateur "instanceof" pour comparer "obj" à une String et affecter le résultat à une nouvelle variable "str" ​​​​de type String. Si la correspondance réussit, c'est-à-dire que l'objet est de type String, nous pouvons utiliser la variable "str" ​​​​​​dans le bloc d'instruction if. Sinon, nous pouvons exécuter le code du bloc d’instruction else.

  1. Utilisez l'instruction switch pour la correspondance de modèles
    En plus de l'instruction if, nous pouvons également utiliser l'instruction switch pour la correspondance de modèles. Voici un exemple utilisant une instruction switch :
public static void main(String[] args) {
    Object obj = "Hello, World";
    switch (obj) {
        case String str -> System.out.println("The object is of type String: " + str);
        case Integer integer -> System.out.println("The object is of type Integer: " + integer);
        default -> System.out.println("The object is not of type String or Integer");
    }
}

Dans cet exemple, nous effectuons une correspondance de modèles en fonction du type d'objet. Si l'objet est de type String, on peut utiliser la variable "str" ​​​​dans la clause case ; si l'objet est de type Integer, on peut utiliser la variable "integer" dans la clause case ; code.

  1. Autres exemples de correspondance de modèles
    En plus de la correspondance de modèles de type de base, la correspondance de modèles peut également être utilisée avec d'autres fonctionnalités du langage pour mieux gérer des situations complexes. Voici un autre exemple :
public static void main(String[] args) {
    Object obj = "Hello, World";
    if (obj instanceof String str && str.length() > 5) {
        System.out.println("The object is of type String with length greater than 5: " + str);
    } else if (obj instanceof Integer integer && integer > 10) {
        System.out.println("The object is of type Integer greater than 10: " + integer);
    } else {
        System.out.println("The object is not of the expected type or does not meet the condition");
    }
}

Dans cet exemple, nous comparons d'abord l'objet avec le type String et vérifions si sa longueur est supérieure à 5. Si la correspondance réussit, nous pouvons utiliser la variable "str" ​​​​dans le bloc d'instruction if ; sinon, nous continuons à comparer l'objet avec le type Integer et vérifions si sa valeur est supérieure à 10. Si la correspondance réussit, nous pouvons utiliser la variable « entier » dans le bloc d'instructions else if. Enfin, si aucune des conditions n’est remplie, nous pouvons exécuter le code dans le bloc d’instruction else.

Conclusion : 
Pattern Matching est une fonctionnalité puissante introduite dans Java 14 qui peut être utilisée pour la correspondance de modèles de type au moment de la compilation. Cet article présente l'utilisation de base de Pattern Matching et fournit des exemples de code. En utilisant Pattern Matching, nous pouvons écrire du code plus concis et plus lisible, améliorant ainsi la maintenabilité et l'évolutivité du code. Par conséquent, il est recommandé de tirer pleinement parti de la correspondance de modèles lors de l’utilisation de Java 14 et versions ultérieures.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn