ホームページ >Java >&#&チュートリアル >Java 14 でパターン マッチングを使用してデータ型を決定し、変換する方法

Java 14 でパターン マッチングを使用してデータ型を決定し、変換する方法

WBOY
WBOYオリジナル
2023-07-29 14:13:261462ブラウズ

Java 14 でパターン マッチングを使用してデータ型を決定および変換する方法

Java 14 では、instanceof のパターン マッチング (つまり「パターン マッチング」) が導入され、データの決定と変換を簡素化できます。型の変換操作。この新機能により、コードがより簡潔で読みやすくなり、開発効率が向上します。この記事では、パターン マッチングを使用して Java 14 でデータ型を決定および変換する方法を紹介し、コード例を示します。

1. パターン タイプの判定

instanceof のパターン マッチングでは、instanceof 演算子を変数宣言と組み合わせて直接使用できます。以前の書き方では、次に示すように、まず型判定を行ってから型変換を行っていました。

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

Java 14 では、パターン型判定を直接使用できるようになり、コードは次のようになります。

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

この方法では、obj が String 型であるかどうかを判断できるだけでなく、obj を String 型に強制し、if ステートメントで str 変数を直接使用することもできます。

2. パターン型変換

パターン マッチングでは、型判定に加えて、オブジェクトを指定した型に簡単に変換できるパターン型変換機能も提供しています。以前の記述方法は、以下に示すように強制型変換を使用することでした。

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

Java 14 では、パターン型変換を使用して上記の記述方法を置き換えることができます。コードは次のとおりです。

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

This この書き方では型判定だけでなく、obj を String 型に変換することもでき、if 文内で str 変数を直接使用することもできます。

3. パターン型判定と変換の入れ子利用

パターン マッチングでは、パターン型判定とパターン型変換の入れ子利用もサポートしており、複数の判定と変換をより柔軟に行うことができます。以下にサンプルコードを示します:

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
    }
}

上記のコードでは、まずobjがShape型であるかどうかを判定し、objをShape型のオブジェクト形状に変換し、その後形状に基づいて判断し、再変換します。 Circle 型または Rectangle 型であり、それぞれ Circle 変数と Rectangle 変数を使用して操作します。

概要

instanceof のパターン マッチングは Java 14 で導入された重要な機能で、データ型の判断と変換を簡素化し、コードの可読性と開発効率を向上させることができます。この記事では、Java 14 でパターン マッチングを使用してデータ型を決定および変換する方法を紹介し、対応するコード例を示します。実際の開発では、この新機能を最大限に活用して、コードをより簡潔、読みやすく、効率的にすることができます。

以上がJava 14 でパターン マッチングを使用してデータ型を決定し、変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。