Maison  >  Article  >  Java  >  Comment utiliser Pattern Matching pour la réécriture de type et l'assertion de type dans Java 14

Comment utiliser Pattern Matching pour la réécriture de type et l'assertion de type dans Java 14

WBOY
WBOYoriginal
2023-07-29 16:17:121451parcourir

Comment utiliser la correspondance de modèles pour la réécriture de type et l'assertion de type dans Java 14

Introduction :
Java est un langage typé statiquement et la vérification de type est l'une de ses fonctionnalités les plus importantes. Dans les versions Java précédentes, la vérification de type était principalement implémentée en utilisant le mot-clé instanceof et la conversion de type forcée. Cependant, la nouvelle fonctionnalité Pattern Matching a été introduite dans Java 14, rendant la réécriture et l'assertion de type plus concises et intuitives. Cet article explique comment utiliser la correspondance de modèles pour la réécriture de type et l'assertion de type dans Java 14, et fournit des exemples de code pertinents.

1. Remplacement de type

Le remplacement de type signifie que lors de l'utilisation de la conversion de type, le type cible peut être spécifié directement dans l'instruction de conversion sans avoir besoin d'une conversion de type forcée. Cela n'était pas autorisé dans les versions Java précédentes et la conversion de type devait être réalisée via un cast. Dans Java 14, Pattern Matching peut être utilisé pour obtenir une réécriture de type plus concise.

Voici un exemple de code qui montre comment utiliser Pattern Matching pour la réécriture de type en Java 14 :

public class TypeOverrideExample {
    public static void main(String[] args) {
        CharSequence sequence = "Hello Java 14!";
        if (sequence instanceof String s) {
            // 使用s作为String类型的变量
            System.out.println(s.toLowerCase());
        }
    }
}

Dans le code ci-dessus, nous définissons une séquence variable de type CharSequence et l'attribuons à une chaîne . Ensuite, utilisez l'instruction if et le mot-clé instanceof pour déterminer si la séquence est de type String. Si tel est le cas, vous pouvez utiliser la réécriture de type dans l'instruction if pour spécifier directement la variable s en tant que type String, et vous pouvez directement utiliser s comme variable de type String dans l'instruction if. Cela élimine l’étape précédente de casting.

2. Assertion de type

L'assertion de type signifie que lorsque vous utilisez la vérification de type, vous pouvez directement attribuer le résultat de la vérification de type d'une variable à une nouvelle variable sans utiliser à nouveau le mot-clé instanceof pour la vérification de type. Dans Java 14, vous pouvez utiliser Pattern Matching pour obtenir des assertions de type plus concises.

Voici un exemple de code qui montre comment utiliser la correspondance de modèles pour l'assertion de type dans Java 14 :

public class TypeAssertionExample {
    public static void main(String[] args) {
        Object object = "Hello Java 14!";
        if (object instanceof String s) {
            // 使用s作为String类型的变量
            System.out.println(s.toLowerCase());
        } else {
            System.out.println("object is not a String");
        }
    }
}

Dans le code ci-dessus, nous définissons un objet variable de type Object et l'attribuons à une chaîne. Ensuite, utilisez l'instruction if et le mot-clé instanceof pour déterminer si l'objet est de type String. Si tel est le cas, vous pouvez utiliser une assertion de type dans l'instruction if pour spécifier directement la variable s en tant que type String, et vous pouvez directement utiliser s comme variable de type String dans l'instruction if. Sinon, nous pouvons le gérer en conséquence dans l'instruction else.

Conclusion :

Cet article présente l'utilisation de la réécriture de type et de l'assertion de type à l'aide de la correspondance de modèles dans Java 14 et fournit des exemples de code pertinents. Grâce à la correspondance de modèles, nous pouvons effectuer une conversion de type et une vérification de manière plus concise et intuitive, évitant ainsi une conversion de type forcée fastidieuse et l'utilisation d'instances de mots-clés redondantes. J'espère que les lecteurs pourront découvrir cette nouvelle fonctionnalité grâce à cet article et l'appliquer à leur propre code en cours de développement.

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