So-net無料ブログ作成
検索選択

訂正:可変長パラメータと配列パラメータの互換性 [Java]

以前、可変長パラメータと配列パラメータの互換性として解説を書きました。最後に、コンパイルエラーになるサンプルコードを掲載していますが、そのコードをJoshua Blochにパズルとしてどうかということで以前送りました。

JavaOneに向けて「Java Puzzlers」セッションの準備を彼は行っているのですが、私の書いたサンプルコードをNeal Gafterに彼が見せたところ、コンパイラーのバグということでバグ登録されたようです。

本来ならば、b.f(1,2,3)の呼び出しもコンパイルエラーにならなければいけないということでした。

つまり、可変長パラメータとしてのメソッド呼び出しが可能かどうかは、オブジェクトの実際の型ではなく、それを参照している型の宣言において該当メソッドが可変長パラメータとされている必要があることになります。


スポンサーリンク





nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました