Javaの可変長引数でこういうときどうなるんだ?ってふと思ったので、実行結果をメモ。
public class SampleVariable { public static void main(String[] args) { SampleVariable a = new SampleVariable(); a.show(); a.show(1); a.show(1, 2); a.show(1,2,3); } public void show(int a) { // 引数1つ System.out.println("a"); } public void show(int a,int b) { // 引数2つ System.out.println("ab"); } public void show(int... a) { // 可変長引数 System.out.println("a..."); } }
実行結果は下記
a... a ab a...
可変長引数メソッドを定義して、引数なしのメソッドを定義しなかったときに、引数なしメソッドを呼び出した場合には、可変長引数メソッドが呼ばれている。可変長引数メソッドは引数0個も含まれている。