Java ---ジェネリック(ジェネリック)の紹介



Java Generic Introduction



1、一般的なメカニズムの出現後のjdk1.5
2、一般的な書き込み形式
3、ジェネリック医薬品の理由または利点:
(1)プログラムのセキュリティを向上させる
(2)実行時に発生した問題をコンパイル時に転送します
(3)型変換の手間を省きます。
注意:
ジェネリックは、コンパイル時に実行されるものです。実際のプログラムが実行されるときの一般的な情報はありません。 (つまり、.classにはジェネリックはありません)

例えば:
java.util.ArrayListをインポートします
java.util.ListIteratorをインポートします

パブリッククラスGenericDemo {
public static void main(String [] args){
ArrayList a1 = new ArrayList()
a1.add(“ jerry”)
a1.add(“ susan”)
// a1.add(10)//コンパイルエラー、今回はArrayListコレクションが標準化されました
//要素はString型の要素のみを配置できます



/ / Traverse the collection /* At this point, please note that collections are generics, and iterators are generics, so add generic to ListIterator * */ ListIterator listIterator=a1.listIterator() while (listIterator.hasNext()){ / / In the case of generics, no longer need a country type conversion String str=listIterator.next() } }

}

4、ジェネリックのアプリケーション:
A:ジェネリッククラス
クラスのジェネリックを定義します
形式:パブリッククラスクラス名注:ジェネリック型は参照型である必要があります
B:一般的な方法
メソッドのジェネリックスを定義します
形式:パブリック戻り値の型メソッド名(ジェネリック型)
C:汎用インターフェース
インターフェイスでジェネリックを定義します
形式:パブリックインターフェイスインターフェイス名
注:ジェネリックインターフェースは、サブクラスによって実装される場合、ジェネリック型を提供する必要があります。
5、ジェネリックアドバンスト(ワイルドカード)
A:任意のタイプ
明確でない場合は、Objectと任意のJavaクラスを使用してください。
副作用:内部で保存または更新することはできず、外部でのみ取得できます
B:? Eを拡張します
Eとそのサブクラスは下向きに定義されます
副作用:中に入ることも取ることができない、更新することしかできません
C:?スーパーE
上限:Eとその親クラス
副作用:ストレージには影響しませんが、Objectオブジェクトにのみ配置できます