11.6 - Değişken Sayıda Argüman Girmek (Varargs)
Bazen çok sayıda değer içeren argümanları kabul eden metotlar yazmanız gerekebilir.Bu durumda diziler kullanılabilir.
public int topla(int[] list) {
int toplam = 0;
for (int i=0; i < list.length; i++) {
toplam += list[i];
}
return toplam;
}
Dizilerin kullanımı yerine,bir değer seçenekte farklı sayıda argüman alan birkaç overloaded metot yazmaktır.
public int topla(int a, int b) {
return a + b;
}
public int topla(int a, int b, int c) {
return a + b + c;
}
public int topla(int a, int b, int c, int d) {
return a + b + c + d;
}
public int topla(int a, int b, int c, int d, int e) {
return a + b + c + d + e;
}
Okunuş olarak daha kolay olsada dizi kullanımından daha iyi bir yol değil.Birde bu metotların devam ettiğini düşünün!Java 5 de gelen varargs seçeneği bu dizi işlemini gizliden yaparak işimizi kolaylaştırıyor ve daha okunabilir bir kod elde etmemizi sağlıyor.
public int topla(int...list) {
int toplam = 0;
for (int item : list) {
toplam += item;
}
return toplam;
}
Bu üç nokta metot signature’a int tipinde istenilen sayıda değer girilebilir diyor.Sadece bu metotla artık
topla(1,2,3);
topla(15,23,1,2,3);
şeklinde argümanlar gönderebilirsiniz.