ホームページ >Java >&#&チュートリアル >Javaジェネリックスを理解する方法

Javaジェネリックスを理解する方法

藏色散人
藏色散人オリジナル
2019-05-31 11:56:192969ブラウズ

Javaジェネリックスを理解する方法

ジェネリックは Java SE 1.5 の新機能です。「Java コア テクノロジ」におけるジェネリックの定義は次のとおりです:

「ジェネリック」とは、書かれたコードを意味します。さまざまな種類のオブジェクト。

ジェネリックは、より再利用可能なコードを記述するために提案されていることがわかります。

ジェネリックの本質はパラメータ化された型です。これは、操作されるデータ型がパラメータとして指定されることを意味します。

たとえば、共通コレクション クラス LinkedList:

public class LinkedList<E> extends AbstractSequentialList<E> implements
    List<E>, Deque<E>, Queue<E>, Cloneable, Serializable {
//...
transient Link<E> voidLink;
//...

ご覧のとおり、LinkedList1a4db2c2c2313771e5742b6debf617a1 クラス名と実装するインターフェイス名。 、そのメンバーの型 Link1a4db2c2c2313771e5742b6debf617a1 にも "" が含まれます。このシンボルは型パラメータであり、新しい LinkedList など、実行時に LinkedList を作成するときにさまざまな型を渡すことができます。そのメンバーが格納されていること。型も String です。

実際、ジェネリックスを導入する主な目標は次のとおりです。

● タイプ セーフティ

の主な目標ジェネリックス 目標は、Java プログラムの型安全性を向上させることです。

不正な Java 型によって引き起こされる ClassCastException 例外は、コンパイル中にチェックできます。

エラーの発生が早ければ早いほど、発生するエラーは小さくなるという原則に沿って、コスト

● 強制的な型変換の排除

#ジェネリックスの副次的な利点は、使用時にターゲットの型を直接取得できるため、多くの強制的な型変換が排除されることです

必要なものが得られるため、コードが読みやすくなり、エラーの可能性が減ります。

#● パフォーマンスが向上する可能性があります。

#ジェネリックスが実装されており、ジェネリックスのサポートは (ほとんど) JVM やクラスを必要としません ファイルの変更

すべての作業はコンパイラで行われます

コンパイラによって生成されたコードは、コンパイラを使用せずに記述されたコードとほぼ同じですジェネリックス (およびキャスト) を使用すると、より確実に入力できるようになります。

以上がJavaジェネリックスを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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