Maison  >  Article  >  Java  >  Comment utiliser Pattern Matching pour la correspondance de types et la déstructuration en Java 14

Comment utiliser Pattern Matching pour la correspondance de types et la déstructuration en Java 14

WBOY
WBOYoriginal
2023-07-30 08:35:40787parcourir

Comment utiliser Pattern Matching pour la correspondance de types et la déstructuration dans Java 14

Introduction :
Dans Java 14, une nouvelle fonctionnalité importante est introduite, à savoir Pattern Matching. Pattern Matching permet aux développeurs d'effectuer des opérations de correspondance de types et de déstructuration dans les instructions conditionnelles, simplifiant ainsi l'écriture et la lecture de code. Cet article explique comment utiliser Pattern Matching pour la correspondance de types et la déstructuration dans Java 14, et l'illustre avec des exemples de code.

1. Correspondance de type
Dans les versions Java précédentes, nous devions souvent utiliser l'opérateur instanceof pour déterminer si un objet appartient à un type spécifique, puis effectuer les opérations correspondantes. Dans Java 14, l'introduction de Pattern Matching rend la correspondance de types plus concise et intuitive.

L'exemple de code est le suivant :

public static void process(Object obj) {
    if (obj instanceof String s) {
        System.out.println("对象是一个字符串:" + s);
        // 在此可以直接使用s进行相关操作
    } else if (obj instanceof Integer i) {
        System.out.println("对象是一个整数:" + i);
        // 在此可以直接使用i进行相关操作
    } else {
        System.out.println("对象不是字符串也不是整数!");
    }
}

Dans l'exemple ci-dessus, nous utilisons la syntaxe qui combine l'opérateur instanceof et le Pattern Matching, c'est-à-dire que lors du jugement du type, l'objet est converti en type correspondant et affecté à un nouvelle variable s ou i. De cette façon, nous pouvons utiliser directement les nouvelles variables dans l'instruction conditionnelle pour effectuer des opérations associées, évitant ainsi à nouveau les problèmes de conversion de type.

2. Application de la déstructuration
En plus de la correspondance de types, Pattern Matching prend également en charge les opérations de déstructuration sur les objets, c'est-à-dire la décomposition des valeurs de champ de l'objet en plusieurs variables pour des opérations plus pratiques.

L'exemple de code est le suivant :

record Point(int x, int y) {}

public static void destructurePoint(Point p) {
    if (p instanceof Point(x, y)) { // 构造解构
        System.out.println("点的坐标是:" + x + ", " + y);
    }
}

Dans l'exemple ci-dessus, nous avons défini une classe Point et utilisé le mot-clé new record dans Java 14 pour définir une classe de données immuable. Ensuite, dans la méthode destructurePoint, nous utilisons la syntaxe de l'opérateur instanceof et Pattern Matching pour décomposer la valeur du champ de l'objet p en deux variables x et y. De cette manière, nous pouvons utiliser directement x et y pour effectuer des opérations associées sans. Les valeurs des champs doivent être obtenues via des méthodes getter ordinaires.

Résumé :
Grâce à l'introduction et à l'exemple de code ci-dessus, nous pouvons voir que dans Java 14, l'introduction de la correspondance de modèles nous offre une manière plus concise et intuitive d'effectuer des opérations de correspondance de types et de déstructuration. Cela simplifie non seulement grandement l'écriture et la lecture du code, mais améliore également la lisibilité et la maintenabilité du code. Par conséquent, lors du développement, nous devons utiliser pleinement la fonction de Pattern Matching pour améliorer la qualité et l'efficacité du code.

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