Maison  >  Article  >  Java  >  Comment utiliser Pattern Matching pour déterminer et convertir les types de données dans Java 14

Comment utiliser Pattern Matching pour déterminer et convertir les types de données dans Java 14

WBOY
WBOYoriginal
2023-07-29 14:13:261357parcourir

Comment utiliser la correspondance de modèles pour déterminer et convertir les types de données dans Java 14

Dans Java 14, la correspondance de modèles pour instanceof (c'est-à-dire "correspondance de modèles") est introduite, ce qui peut simplifier les opérations de détermination et de conversion des types de données. Cette nouvelle fonctionnalité peut rendre le code plus concis et plus lisible, tout en améliorant l'efficacité du développement. Cet article explique comment utiliser la correspondance de modèles pour déterminer et convertir les types de données dans Java 14 et fournit des exemples de code.

1. Jugement de type de modèle

Pattern Matching pour instanceof vous permet d'utiliser directement l'opérateur instanceof avec la déclaration de variable. La façon précédente d'écrire consistait d'abord à effectuer un jugement de type, puis à effectuer une conversion de type, comme indiqué ci-dessous :

if(obj instanceof String) {
    String str = (String) obj;
    // do something with str
}

En Java 14, nous pouvons directement utiliser le jugement de type de modèle, et le code est le suivant :

if(obj instanceof String str) {
    // do something with str
}

De cette façon, non seulement nous pouvons déterminer si obj est de type String. Vous pouvez également forcer obj au type String et utiliser la variable str directement dans l'instruction if.

2. Conversion de type de modèle

En plus du jugement de type, Pattern Matching fournit également la fonction de conversion de type de modèle, qui peut facilement convertir des objets en types spécifiés. La méthode d'écriture précédente consistait à utiliser une conversion de type forcée, comme indiqué ci-dessous :

if(obj instanceof String) {
    String str = (String) obj;
    // do something with str
}

Dans Java 14, nous pouvons utiliser la conversion de type de modèle pour remplacer la méthode d'écriture ci-dessus. Le code est le suivant :

if(obj instanceof String str) {
    // do something with str
}

Cette méthode d'écriture peut non seulement. effectuer un jugement de type, mais convertira également obj en type String, et nous pouvons utiliser la variable str directement dans l'instruction if.

3. Utilisation imbriquée du jugement et de la conversion de type de modèle

La correspondance de modèle prend également en charge l'utilisation imbriquée du jugement de type de modèle et de la conversion de type de modèle, qui peuvent effectuer plusieurs jugements et conversions de manière plus flexible. Voici un exemple de code :

if(obj instanceof Shape shape) {
    if(shape instanceof Circle circle) {
        // do something with circle
    } else if(shape instanceof Rectangle rectangle) {
        // do something with rectangle
    } else {
        // do something else
    }
}

Dans le code ci-dessus, déterminez d'abord si obj est un type Shape et convertissez obj en une forme d'objet du type Shape, puis jugez et convertissez à nouveau en fonction de la forme pour déterminer s'il s'agit d'un objet de type Shape ; un type Cercle ou un type Rectangle, et fonctionnent en utilisant respectivement des variables de cercle et de rectangle.

Résumé

La correspondance de modèles, par exemple, est une fonctionnalité importante introduite dans Java 14, qui peut simplifier le jugement et la conversion des types de données, et améliorer la lisibilité du code et l'efficacité du développement. Cet article explique comment utiliser Pattern Matching pour déterminer et convertir les types de données dans Java 14, et fournit des exemples de code correspondants. Dans le développement réel, nous pouvons utiliser pleinement cette nouvelle fonctionnalité pour rendre le code plus concis, lisible et efficace.

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