[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12089] Re: 「 Java 2 Standard Edition 5.0 Tiger 」を 読む会第2回議事録



柴田です。

>   「 short s = 1;
>      Integer i = s; 」
>    はコンパイルできるのか? --> 本では、コンパイル可能だと解説されているが...
>     --> コンパイルエラーになる!!
>         --> 本の誤植なのか?
>             --> 言語仕様はコンパイルエラー
>                 --> 出典は? (情報求む!!)

確かに、これは記述が誤りです。おそらく、リリース1.5 Betaとしての初期のコ
ンパイラーは、コンパイルできていた可能性がありますが、現在はコンパイルエ
ラーです。45頁の修正版(PDF)を、正誤表に掲載してあります。

shortがIntegerへ代入できないのは、直感には反してはいますが、これが許され
るとメソッドのオーバーロードが解決できない場合が発生します。そのため、最
終的に、禁止されたようです。

柴田