akios @ ウィキ
4.6. 型の抹消
最終更新:
akios
-
view
4. 型と値と変数
4.1. 型と変数の種類
4.2. プリミティブ型と値
4.3. 参照型と値
4.4. 型変数
4.5. 引数付き型
4.6. 型の抹消
型の抹消(type erasure)とは型(引数付き型と型変数を含んでもよい)から型(引数付き型や型変数を含まない)へのマッピングです。型Tの抹消を|T|と記します。抹消マッピングを以下に定義します。
- 引数付き型G<T1,...,Tn>の抹消とは|G|です。
- 入れ子にされた型T.Cの抹消とは|T|.Cです。
- 配列型T[]の抹消とは|T|[]です。
- 型変数の抹消とはその最も左の制限の抹消です。
- 他の全ての型の抹消とはその型そのものです。
型の抹消はコンストラクターやメソッドのシグネチャーを引数付き型や型変数を持たないシグネチャーにマップすることも指します。コンストラクターやメソッドのシグネチャーsの抹消とはsと同じ名前を残しs内の他の仮引数の型を全て抹消したものです。
ジェネリックメソッドのシグネチャーの抹消では型引数を持ちません。