genericsの基本について
例)
List<String> list = new ArrayList<>();
list.add("aaa");
list.add(1); //コンパイルエラー
- List に 入る型を明示できる
ジェネリック型クラス内で型変数Eをnewするのは禁止
class Owner<E>{
E createObject(){
return new E();
}
}
コンパイルエラー
- タスク1
- タスク2
- 型パラメータ
- <>の中の変数部分。
- 型変数
- 型パラメータに修飾される変数
- 型引数
- ジェネリック型を使用する際に<>に渡す具体的な型。ListのString部分
- パラメータ化された型
- 型引数を渡して実際にしようできる型。Listそのもの
List を宣言すると
class List<String> {
private String element;
String get() {
return element;
}
void put(String e) {
this.element = e;
}
}
が内部的に創出される。(未確定)