JAva汎用(gemeric)---1
1906 ワード
Java 1.5(Tiger)リリースでは汎用(generic)が追加されました.genericを追加しない前に、セットから読み込まれた各オブジェクトにタイプ変換が必要です.セットに誤ったタイプのオブジェクトが挿入されている場合、コンパイル中にエラーメッセージが表示されず、実行中にClassCastExceptionが表示されます.genericがあれば、コンパイラの各セットにどのオブジェクトタイプが受け入れられるかを教えることができます.コンパイラは自動的にあなたの挿入に変換し、コンパイルではタイプエラーのオブジェクトが挿入されたかどうかを知らせると同時に、集合から読んだオブジェクトもタイプ変換を行わなくてもいいです.
1.汎用とは?
2.汎用型の各種形式
3.補充
4.注意
参照文当:http://www8.cs.umu.se/kurser/tdbb24/HT05/jem/download/generics-tutorial.pdf
1.汎用とは?
(type parameter) , 。
(generic type)。 :
// : < >
List<E> // ”E “
List<String> // ” “
2.汎用型の各種形式
Set<Object> <!-- , 。-->
Set<?> <!-- , 。-->
Set<? extends T> <!-- , T T 。-->
Set<? super T> <!-- , T T 。-->
Set <!-- 。-->
3.補充
java5 。
( [Type erasure])。 。
4.注意
。 。
List<Long> list = new ArrayList<Long>();
list.add(Long.valueOf(1));
list.add(Long.valueOf(2));
List<Number> numbers = list; // this will not compile
numbers.add(Double.valueOf(3.14));
List rawList = list; //compiled
参照文当:http://www8.cs.umu.se/kurser/tdbb24/HT05/jem/download/generics-tutorial.pdf