5.23元のタイプの代わりに汎用を使用する
1914 ワード
JDK 5は汎用型を導入し,新しいコードでは元のタイプ(raw type)の代わりに汎用型を優先的に使用すべきである.
汎用関連用語:
List
generic type
汎用型
E
formal type parameter
形式パラメータ
List
parameterized type
パラメトリックタイプ
String
actual type parameter
じつパラメータ
List
raw type
元のタイプ
List
unbounded wildcard type
bounded type parameter
bounded type parameter
>
recursive type bound
bounded wildcard type
List asList(E[] a)
generic method
String.class
type token
汎用は、コンパイル時にデータ型をチェックしたり、データ型を自動的に変換したりするために使用されます.実行時には、汎用型は実際のタイプに置き換えられます.すなわち、実行時には、List.classのみが存在し、List.classのようなタイプは存在しません.これをタイプ消去と呼びます
注意1:コンパイラはtype inferenceを使用して汎用の実際のパラメータタイプを決定します.
注2:反射によりListのような「宣言」を取得できますが、List.classタイプのオブジェクトは取得できません
タイプを制限しない場合は、元のタイプのリストの代わりにList
汎用関連用語:
List
generic type
汎用型
E
formal type parameter
形式パラメータ
List
parameterized type
パラメトリックタイプ
String
actual type parameter
じつパラメータ
List
raw type
元のタイプ
List
unbounded wildcard type
bounded type parameter
bounded type parameter
recursive type bound
bounded wildcard type
generic method
String.class
type token
汎用は、コンパイル時にデータ型をチェックしたり、データ型を自動的に変換したりするために使用されます.実行時には、汎用型は実際のタイプに置き換えられます.すなわち、実行時には、List.classのみが存在し、List
注意1:コンパイラはtype inferenceを使用して汎用の実際のパラメータタイプを決定します.
注2:反射によりList
タイプを制限しない場合は、元のタイプのリストの代わりにList