【初心者】Java質問・相談スレッド103【大歓迎】at TECH【初心者】Java質問・相談スレッド103【大歓迎】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト563:デフォルトの名無しさん 07/07/12 11:40:11 なにがしたいのかさっぱりわからない。説明足りなすぎ 564:デフォルトの名無しさん 07/07/12 11:45:05 String abcという書き方ではなく、a,b,cの3つのStringがあり、それぞれnullかnullでないかを判断する必要があるということなのでしょう。 565:デフォルトの名無しさん 07/07/12 11:56:27 質問というか、Javaの可変長引数の仕様で疑問に思ったのですが、 void test(int... vector) { if (vector.length == 0) System.out.println("vectorは空です."); else for (int i : vector) System.out.print(i + " "); } こういうメソッドを書くと、可変長引数は引数なしでも実行できるので、 test(); と呼び出すと、"vectorは空です."と表示されます。 ですが、同名の以下のメソッドを同じクラスで定義すると、 オーバーロードされますので、引数が0のときの振る舞いが不定のように見えます。 void test() { test(1); } 実際にやってみたところ、下の関数が呼び出され、"1 "が表示されました。 可変長引数よりもオーバーロードのほうが優先されることがわかりましたが、 引数的にはどちらでも呼び出せるので、しっくりこません。 よければこのようになる理由を教えてもらえますか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch