C#では、Objectの可変長引数にObjectの配列自体をデータとして渡したい場合、キャストすればいいらしい。
で、Javaの可変長引数ではどうかなぁと思って試してみたら、同じだった。
区別が付けられるのは便利だけど、キャストによって動作が変わるということは、実行時のクラスに左右されず、コンパイル時のソース上のクラスで決まるということ。
他の動作では基本的に実行時のクラスで扱われるという認識があるので、ちょっと違和感があるなぁ…。
C#では、Objectの可変長引数にObjectの配列自体をデータとして渡したい場合、キャストすればいいらしい。
で、Javaの可変長引数ではどうかなぁと思って試してみたら、同じだった。
区別が付けられるのは便利だけど、キャストによって動作が変わるということは、実行時のクラスに左右されず、コンパイル時のソース上のクラスで決まるということ。
他の動作では基本的に実行時のクラスで扱われるという認識があるので、ちょっと違和感があるなぁ…。
※コメント投稿者のブログIDはブログ作成者のみに通知されます