個人的な勉強のためまとめました
##可変長引数
・引数の数を自由に変更できる引数
・引数の型の直後にピリオドを3つ「...」つけて宣言
・理論上は引数をいくつでも渡しても呼び出すことができる
・渡された複数の値は、JVMによって配列に置き換えられる。そのため、値を使うときは配列と同じように「[]」を使う
###2つの注意点
①同じ型の数が可変な引数をまとめられるだけで、異なる型はまとめられない
②可変長引数以外の引数を受け取る必要がある場合、可変長引数は最後の引数にすること
①は、可変長引数が配列に置き換えられていることを考えれば当然
②は、例えば次のようなメソッドの宣言では、どこまでが第一引数で、どこからが第二引数かわからず、コンパイルエラーになる
例)可変長引数を最初に記述したメソッド(コンパイルエラー)
sample.java
void sample(int... num,int value) {
//do something
}
次のように順番を入れ替えるとコンパイルエラーが発生しない
例)可変長引数を最後に記述したメソッド
sample.java
void sample(int value,int... num) {
//do something
}