「4.6. 型の抹消」の編集履歴(バックアップ)一覧はこちら
「4.6. 型の抹消」(2012/09/10 (月) 09:29:06) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*[[4. 型と値と変数]]
**[[4.1. 型と変数の種類]]
**[[4.2. プリミティブ型と値]]
**[[4.3. 参照型と値]]
**[[4.4. 型変数]]
**[[4.5. 引数付き型]]
**4.6. 型の抹消
型の抹消(type erasure)とは型(引数付き型と型変数を含んでもよい)から型(引数付き型や型変数を含まない)へのマッピングです。型Tの抹消を|T|と記します。抹消マッピングを以下に定義します。
-[[引数付き型>4.5. 引数付き型]]G<T1,...,Tn>の抹消とは|G|です。
-入れ子にされた型T.Cの抹消とは|T|.Cです。
-配列型T[]の抹消とは|T|[]です。
-型変数の抹消とはその最も左の制限の抹消です。
-他の全ての型の抹消とはその型そのものです。
型の抹消はコンストラクターやメソッドの[[シグネチャー>8.4.2. メソッドのシグネチャー]]を引数付き型や型変数を持たないシグネチャーにマップすることも指します。コンストラクターやメソッドのシグネチャーsの抹消とはsと同じ名前を残しs内の他の仮引数の型を全て抹消したものです。
コンストラクターやメソッドの型引数([[8.4.4.>8.4.4. ジェネリックメソッド]])や[[メソッドの戻り型>8.4.5. メソッドの戻り型]]も、そのコンストラクターやメソッドのシグネチャーが抹消されるならば抹消されます。
ジェネリックメソッドのシグネチャーの抹消では型引数を持ちません。
**[[4.7. 具象可能型]]
**[[4.8. 未加工型]]
**[[4.9. 交差型]]
**[[4.10. 型の派生]]
**[[4.11. 型の使用箇所]]
**[[4.12. 変数]]
*[[4. 型と値と変数]]
**[[4.1. 型と変数の種類]]
**[[4.2. プリミティブ型と値]]
**[[4.3. 参照型と値]]
**[[4.4. 型変数]]
**[[4.5. 引数付き型]]
**4.6. 型の抹消
型の抹消(type erasure)とは型(引数付き型と型変数を含んでもよい)から型(引数付き型や型変数を含まない)へのマッピングです。型Tの抹消を|T|と記します。抹消マッピングを以下に定義します。
-[[引数付き型>4.5. 引数付き型]]G<T1,...,Tn>の抹消とは|G|です。
-入れ子にされた型T.Cの抹消とは|T|.Cです。
-配列型T[]の抹消とは|T|[]です。
-型変数の抹消とはその最も左の制限の抹消です。
-他の全ての型の抹消とはその型そのものです。
型の抹消はコンストラクターやメソッドの[[シグネチャー>8.4.2. メソッドのシグネチャー]]を引数付き型や型変数を持たないシグネチャーにマップすることも指します。コンストラクターやメソッドのシグネチャーsの抹消とはsと同じ名前を残しs内の他の仮引数の型を全て抹消したものです。
コンストラクターやメソッドの型引数([[8.4.4.>8.4.4. ジェネリックメソッド]])や[[メソッドの戻り型>8.4.5. メソッドの戻り型]]も、そのコンストラクターやメソッドのシグネチャーが抹消されるならば抹消されます。
ジェネリックメソッドのシグネチャーの抹消では型引数を持ちません。
**[[4.7. 具象可能型]]
**[[4.8. 未加工型]]
**[[4.9. 交差型]]
**[[4.10. サブタイプ化]]
**[[4.11. 型の使用箇所]]
**[[4.12. 変数]]
表示オプション
横に並べて表示:
変化行の前後のみ表示: