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 · 最終更新: (外部編集)