Java で <> は何を意味しますか?

青灯夜游
リリース: 2019-11-19 14:49:57
オリジナル
17388 人が閲覧しました

Java で <> は何を意味しますか?

Java では <> は何を意味しますか?

Java では、<> はジェネリックを指します。ジェネリックはコンパイル中に型エラーを検出し、未定義の型が出現するのを防ぐことができます。ジェネリックスの本質はパラメーター化された型です。これは、操作対象のデータ型がパラメーターとして指定されることを意味します。

ジェネリックの定義:

ジェネリックはプログラミング言語の機能です。厳密に型指定されたプログラミング言語で汎用コードを作成するプログラマーが、使用前に指定する必要がある変更可能な部分を定義できるようにします。

さまざまなプログラミング言語、そのコンパイラ、およびランタイム環境では、ジェネリックに対するサポートが異なります。コードの再利用を実現し、ソフトウェア開発の作業効率を向上させるために型をパラメータ化したデータ型。

ジェネリック クラスは参照型とヒープ オブジェクトであり、主に型パラメーターの概念が導入されています。

ジェネリックを使用する利点

Java 言語へのジェネリックの導入は、主要な機能拡張です。ジェネリックスをサポートするために言語、型システム、コンパイラが大幅に変更されただけでなく、クラス ライブラリも大幅に変更され、コレクション フレームワークなどの多くの重要なクラスがジェネリックになりました。これにより多くの利点がもたらされます:

1. 型安全性

ジェネリックスの主な目的は、Java プログラムの型安全性を向上させることです。ジェネリックスを使用して定義された変数の型制限を知ることで、コンパイラーは型の仮定を非常に高いレベルで検証できます。ジェネリックがなければ、これらの仮定はシステム開発者の頭の中にしか存在しません。

ジェネリックを使用すると、変数宣言でこの追加の型情報をキャプチャすることで、コンパイラーがこれらの追加の型制約を強制できるようになります。型エラーは、実行時に ClassCastException として表示されるのではなく、コンパイル時に捕捉されるようになりました。型チェックを実行時からコンパイル時に移行すると、Java 開発者はエラーをより早期かつ簡単に発見できるようになり、プログラムの信頼性が向上します。

2. キャストの削除

ジェネリックの副次的な利点は、ソース コード内の多くのキャストが削除されることです。これにより、コードが読みやすくなり、エラーの可能性が減ります。キャストを減らすとジェネリック クラスを使用するコードを改善できますが、ジェネリック変数を宣言する場合には、対応するペナルティが発生します。単純なプログラムでジェネリック変数を 1 回使用しても、コードの人気が低下することはありません。ただし、汎用変数を複数回使用する大規模なプログラムの場合、いいねのレベルは累積的に低下する可能性があります。したがって、ジェネリックによって強制的な型変換が排除されると、コードはより明確でクリーンになります。

2. キャストの削除

ジェネリックの副次的な利点は、ソース コード内の多くのキャストが削除されることです。これにより、コードが読みやすくなり、エラーの可能性が減ります。キャストを減らすとジェネリック クラスを使用するコードを改善できますが、ジェネリック変数を宣言する場合には、対応するペナルティが発生します。単純なプログラムでジェネリック変数を 1 回使用しても、コードの人気が低下することはありません。ただし、汎用変数を複数回使用する大規模なプログラムの場合、いいねのレベルは累積的に低下する可能性があります。したがって、ジェネリックによって強制的な型変換が排除されると、コードはより明確でクリーンになります。

3. 操作効率の向上

非ジェネリック プログラミングでは、単一の型をオブジェクトとして渡すと、ボックス化およびボックス化解除の操作が発生し、両方のプロセスで大きなオーバーヘッドが発生します。ジェネリックの導入後は、Boxing や Unboxing の操作が不要となるため、比較的運用効率が高く、特に収集操作が頻繁に行われるシステムでは、この機能によるパフォーマンスの向上がより顕著になります。

4. パフォーマンス向上の可能性

ジェネリックは、より大きな最適化の可能性をもたらします。ジェネリックの初期実装では、コンパイラは生成されたバイトコードにキャスト (ジェネリックを使用しない場合、Java システム開発者がこれらのキャストを指定します) を挿入します。しかし、コンパイラーがより多くの型情報を利用できるという事実により、JVM の将来のバージョンで最適化の可能性が開かれます。

推奨チュートリアル: Java チュートリアル

以上がJava で <> は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート