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 サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

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

ホットトピック









