ホームページ  >  記事  >  Java  >  Java がスコープ (ジェネリック) 型を使用するのはなぜですか?

Java がスコープ (ジェネリック) 型を使用するのはなぜですか?

little bottle
little bottleオリジナル
2019-05-29 11:53:083446ブラウズ

ジェネリックとは何ですか?ジェネリックとは、型をパラメーター化する機能を指します。ジェネリック型を使用してクラスまたはメソッドを定義すると、コンパイラによってそれが具象型に置き換えられます。

Java がスコープ (ジェネリック) 型を使用するのはなぜですか?

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

Java 言語にジェネリックを導入する利点は、安全性と単純さです。ジェネリックの利点は、コンパイル中に型安全性がチェックされ、すべてのキャストが自動かつ暗黙的であるため、コードの再利用が向上することです。

詳細:

1. タイプ セーフティ。

ジェネリックの主な目的は、Java プログラムのタイプ セーフを向上させることです。ジェネリックスを使用して定義された変数の型制限を知ることで、コンパイラーは型の仮定をより高度に検証できます。ジェネリックスがなければ、これらの仮定はプログラマーの頭の中 (または、運が良ければコード コメントの中に) のみ存在します。

2, 強制的な型変換を排除します。

ジェネリックの副次的な利点は、ソース コード内の多くのキャストが削除されることです。これにより、コードが読みやすくなり、エラーの可能性が減ります。

3. 潜在的なパフォーマンス向上。

ジェネリックは、より大きな最適化の可能性をもたらします。ジェネリックの最初の実装では、コンパイラは生成されたバイトコードにキャスト (ジェネリックを使用しない場合はプログラマがこれらのキャストを指定します) を挿入します。しかし、コンパイラーがより多くの型情報を利用できるという事実により、JVM の将来のバージョンで最適化の可能性が開かれます。ジェネリックスの実装方法により、ジェネリックスのサポートには JVM やクラス ファイルの変更が (ほとんど) 必要ありません。すべての作業はコンパイラで行われ、ジェネリックス (およびキャスト) を使用しない場合と同様のコードが生成されますが、よりタイプセーフであるだけです。

ジェネリックの使用に関するルールと制限

1. ジェネリックの型パラメーターは、単純型ではなく、クラス型 (カスタム クラスを含む) のみにすることができます。

2. 同じジェネリック型が複数のバージョンに対応する可能性があり (パラメーターの型が不確かであるため)、異なるバージョンのジェネリック クラス インスタンスには互換性がありません。

3. ジェネリックスには複数の型パラメーターを含めることができます。

4. ジェネリック パラメーター タイプでは、 などの extends ステートメントを使用できます。通常は「制限付きタイプ」になります。

5. ジェネリック型のパラメータ型は、ワイルドカード型にすることもできます。たとえば、 Class classType = Class.forName(Java.lang.String);

以上がJava がスコープ (ジェネリック) 型を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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