検索
ホームページJava&#&チュートリアルJava 14 での型の書き換えと型アサーションにパターン マッチングを使用する方法

Java 14 で型の書き換えと型アサーションにパターン マッチングを使用する方法

はじめに:
Java は静的に型付けされた言語であり、型チェックはその最も重要な機能の 1 つです。以前の Java バージョンでは、型チェックは主に、instanceof キーワードと強制的な型変換を使用して実装されていました。ただし、パターン マッチングの新機能が Java 14 で導入され、型の書き換えと型アサーションがより簡潔かつ直感的になりました。この記事では、Java 14 での型の書き換えと型アサーションにパターン マッチングを使用する方法を紹介し、関連するコード例を示します。

1. 型オーバーライド

型オーバーライドとは、型変換を使用するときに、強制的な型変換を必要とせずに、変換ステートメントでターゲットの型を直接指定できることを意味します。これは以前の Java バージョンでは許可されていなかったので、型変換はキャストによって実現する必要がありました。 Java 14 では、パターン マッチングを使用して、より簡潔な型の書き換えを実現できます。

以下は、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());
        }
    }
}

上記のコードでは、CharSequence 型の変数シーケンスを定義し、それを割り当てます。文字列として。次に、if ステートメントと instanceof キーワードを使用して、シーケンスが String 型であるかどうかを判断します。その場合は、if ステートメントで型の書き換えを使用して変数 s を String 型として直接指定し、if ステートメントで s を String 型の変数として直接使用できます。これにより、強制的な型変換の前のステップが不要になります。

2. 型アサーション

型アサーションとは、型チェックを使用するときに、instanceof キーを再度使用せずに、変数の型チェック結果を新しい変数に直接割り当てることができることを意味します。チェックした。 Java 14 では、パターン マッチングを使用して、より簡潔な型アサーションを実現できます。

以下は、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");
        }
    }
}

上記のコードでは、Object 型の変数オブジェクトを定義し、それを割り当てます。文字列に。次に、if ステートメントと instanceof キーワードを使用して、オブジェクトの型が String であるかどうかを判断します。その場合は、if ステートメントで型アサーションを使用して変数 s を String 型として直接指定し、if ステートメントで s を String 型変数として直接使用できます。そうでない場合は、else ステートメントで適切に処理できます。

結論:

この記事では、Java 14 での型の書き換えと型アサーションのためのパターン マッチングの使用方法を紹介し、関連するコード例を示します。パターン マッチングにより、型変換とチェックをより簡潔かつ直観的に実行できるようになり、面倒な強制的な型変換や冗長な instanceof キーワードの使用が回避されます。読者がこの記事を通じてこの新機能について学び、実際の開発で自分のコードに適用していただければ幸いです。

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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JVMは、さまざまなプラットフォームでガベージコレクションをどのように管理していますか?JVMは、さまざまなプラットフォームでガベージコレクションをどのように管理していますか?Apr 28, 2025 am 12:23 AM

jvmmanagesgarbagecollectionacrossplatformseftivivivivitybyusagenerationalaphadadadaptingtosandhardwaredefferences.itemployscollectorslikeserial、parallel、cms、andg1、各sutitedfordifferentscenarios

なぜJavaコードは変更せずに異なるオペレーティングシステムで実行できるのですか?なぜJavaコードは変更せずに異なるオペレーティングシステムで実行できるのですか?Apr 28, 2025 am 12:14 AM

Javaは、Javaの「Write and Averywherewhere」という哲学がJava Virtual Machine(JVM)によって実装されているため、変更なしで異なるオペレーティングシステムで実行できます。コンパイルされたJavaバイトコードとオペレーティングシステムの間の仲介者として、JVMはバイトコードを特定のマシン命令に変換し、JVMがインストールされた任意のプラットフォームでプログラムが独立して実行できることを確認します。

Javaプログラムをコンパイルして実行するプロセスを説明し、プラットフォームの独立性を強調します。Javaプログラムをコンパイルして実行するプロセスを説明し、プラットフォームの独立性を強調します。Apr 28, 2025 am 12:08 AM

Javaプログラムの編集と実行は、BytecodeとJVMを通じ​​てプラットフォームの独立性を達成します。 1)Javaソースコードを書き、それをbytecodeにコンパイルします。 2)JVMを使用して、任意のプラットフォームでByteCodeを実行して、コードがプラットフォーム間で実行されるようにします。

基礎となるハードウェアアーキテクチャは、Javaのパフォーマンスにどのように影響しますか?基礎となるハードウェアアーキテクチャは、Javaのパフォーマンスにどのように影響しますか?Apr 28, 2025 am 12:05 AM

Javaのパフォーマンスはハードウェアアーキテクチャと密接に関連しており、この関係を理解することでプログラミング機能を大幅に改善できます。 1)JVMは、CPUアーキテクチャの影響を受けるJITコンピレーションを介して、Java Bytecodeを機械命令に変換します。 2)メモリ管理とゴミ収集は、RAMとメモリバスの速度の影響を受けます。 3)キャッシュとブランチ予測Javaコードの実行を最適化します。 4)マルチスレッドと並列処理がマルチコアシステムのパフォーマンスを改善します。

ネイティブライブラリがJavaのプラットフォームの独立性を破ることができる理由を説明してください。ネイティブライブラリがJavaのプラットフォームの独立性を破ることができる理由を説明してください。Apr 28, 2025 am 12:02 AM

ネイティブライブラリを使用すると、これらのライブラリはオペレーティングシステムごとに個別にコンパイルする必要があるため、Javaのプラットフォームの独立性が破壊されます。 1)ネイティブライブラリはJNIを介してJavaと対話し、Javaが直接実装できない機能を提供します。 2)ネイティブライブラリを使用すると、プロジェクトの複雑さが増し、さまざまなプラットフォームのライブラリファイルの管理が必要です。 3)ネイティブライブラリはパフォーマンスを改善できますが、それらは注意して使用し、クロスプラットフォームテストを実施する必要があります。

JVMはオペレーティングシステムAPIの違いをどのように処理しますか?JVMはオペレーティングシステムAPIの違いをどのように処理しますか?Apr 27, 2025 am 12:18 AM

JVMは、JavanativeInterface(JNI)およびJava Standard Libraryを介してオペレーティングシステムのAPIの違いを処理します。1。JNIでは、Javaコードがローカルコードを呼び出し、オペレーティングシステムAPIと直接対話できます。 2. Java Standard Libraryは統一されたAPIを提供します。これは、異なるオペレーティングシステムAPIに内部的にマッピングされ、コードがプラットフォーム間で実行されるようにします。

Java 9で導入されたモジュール性は、プラットフォームの独立性にどのように影響しますか?Java 9で導入されたモジュール性は、プラットフォームの独立性にどのように影響しますか?Apr 27, 2025 am 12:15 AM

modularitydoesnotdirectlyectlyectjava'splatformindepensence.java'splatformendepenceismaindainededainededainededaindainedaindained bythejvm、butmodularityinfluencesApplucationStructure andmanagement、間接的なインパクチャプラット形成依存性.1)

ByteCodeとは何ですか?また、Javaのプラットフォームの独立性とどのように関係していますか?ByteCodeとは何ですか?また、Javaのプラットフォームの独立性とどのように関係していますか?Apr 27, 2025 am 12:06 AM

bytecodeinjavaisthe intermediaterepresentationthateNablesplatformindepence.1)javacodeis compiledintobytecodestoredin.classfiles.2)thejvminterpretsorcompilesthisbytecodeintomachinecodeatime、

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。