この記事の例は、Javaでのジェネリックの使用をまとめたものです。あなたの参照のために全員のためにそれを共有してください。詳細は次のとおりです。
1基本的な使用
パブリックインターフェイスリスト<e> {void add(e);2ジェネリックとサブクラス
子は親のサブクラスですが、リスト<Child>は<parent>のサブクラスではありません。
so:list <object> list = new arraylist <string>()が間違っています。
上記が正しい場合は、次のとおりです。
list <string> ls = new arraylist <string>; //2lo.adddded();文字列へのオブジェクトは失敗します。
3ワイルドカード
2のため、統一コレクションの出力については、次の実装は不可能です。
void printcollection(collection <object> c){for(object o:c){//何か}}}}}だから、使用する必要がありますか?::
void printcollection(collection <?
ここのタイプは不明ですが、すべてのオブジェクトはオブジェクトであるため、上記の例1は正しいです。しかし、次の例は間違っています:
void add(collection <?myclass> c){c.add(new myclass());理由も非常に明確です。
4。生成方法
上記の例を達成できます。
<t> add(collection <t> c、t t){c.add(t);}セマンティクスを確保するという前提で、コンパイラはタイプの変換作業を行うのに役立ちます。
5。一般的なランタイムの比較
List <String> l1 = new ArrayList <String>(); / 真実
一般的なクラスはいつと同じだからです。
6ジェネリック配列(タイプが安全ではない可能性があります)
コードコードを次のようにコピーします。リスト<String> [] LSA = new ArrayList <String> [10];
可能であれば、タイプは安全ではないかもしれません。のように:
オブジェクトo = oa =(object)li = new Arraylist < S = LSA [1] .get(0);
この記事がすべての人のJavaプログラムのデザインに役立つことが期待されています。