java:covariant
差分
このページの2つのバージョン間の差分を表示します。
java:covariant [2007/08/24 14:16] – 外部編集 127.0.0.1 | java:covariant [2011/06/23 06:02] (現在) – nullpon | ||
---|---|---|---|
行 32: | 行 32: | ||
配列の反省を受けて(?)ジェネリクスはcovariantではない。IntegerはNumberであるが、List< | 配列の反省を受けて(?)ジェネリクスはcovariantではない。IntegerはNumberであるが、List< | ||
<code java> | <code java> | ||
- | List< | + | ArrayList< |
</ | </ | ||
+ | |||
+ | これは以下のようなコードを許可しないためと思われる | ||
+ | |||
+ | <code java> | ||
+ | ArrayList< | ||
+ | i.add(Long.valueOf(1)); | ||
+ | </ | ||
+ | |||
+ | 配列では以下のソースがコンパイル可能で、実行時エラーになる。 | ||
+ | |||
+ | <code java> | ||
+ | Number[] i = new Integer[1]; | ||
+ | i[0] = Long.valueOf(1); | ||
+ | </ | ||
+ |
java/covariant.1187965007.txt.gz · 最終更新: 2011/06/23 06:02 (外部編集)