[]
java varargs belirsiz sayıda parametre yollama
varargs özelliği ile bir metod belirsiz sayıda parametre alabiliyor.
şöyle gönderiyoruz mesela:
gonder(a,b);
gonder(a,b,c,d,e,f);
gonder(a);
yalnız ben bu gonder metoduna göndereceğim parametrelerin sayısını bilmiyorum. örneğin elimde bir dizi var. kullanıcıdan bu dizinin elemanlarına değer alıyorum. mesela dizi 10luk bir dizi. kullanıcı 5 adet değer girdi. ama 7 adet de girebilir isterse 10 adet de girebilir. ben bu kullanıcının girdiği adet veriyi nasıl gonder metoduna yollarım?
cevaplar için şimdiden teşekkürler.
örnek kod yok bu arada. daha bi'şey yazmadım.
şöyle gönderiyoruz mesela:
gonder(a,b);
gonder(a,b,c,d,e,f);
gonder(a);
yalnız ben bu gonder metoduna göndereceğim parametrelerin sayısını bilmiyorum. örneğin elimde bir dizi var. kullanıcıdan bu dizinin elemanlarına değer alıyorum. mesela dizi 10luk bir dizi. kullanıcı 5 adet değer girdi. ama 7 adet de girebilir isterse 10 adet de girebilir. ben bu kullanıcının girdiği adet veriyi nasıl gonder metoduna yollarım?
cevaplar için şimdiden teşekkürler.
örnek kod yok bu arada. daha bi'şey yazmadım.
uzun yillardir java ile tek satir kod yazmadim. varargs diye bir sey de hatirlamiyorum, belki yenidir belki ben hatirlamiyorumdur.
fakat bunlarla ugrasmaktan daha kolay bir yontem geliyor aklima. method'un tek parametre alsin, o da senin hazirlayacagin bir class'in tipinden olsun. bu class'in prop'larindan biri de bu uzunlugu belirsiz dizi olsun. sonra da hayirli ugurlu olsun.
fakat bunlarla ugrasmaktan daha kolay bir yontem geliyor aklima. method'un tek parametre alsin, o da senin hazirlayacagin bir class'in tipinden olsun. bu class'in prop'larindan biri de bu uzunlugu belirsiz dizi olsun. sonra da hayirli ugurlu olsun.
- chronic unholy (30.04.13 19:16:30)
Senin tek değişkenin dizi olsun , tek o diziyi yolla boş elemanlar için null check yap.
- layer26 (30.04.13 19:21:13)
varargs dediğin şey zaten bu durum için kullanılmıyor mu?
gonder butonuna kaç tane veri geldiğini bilmek zorunda değilsin,
şurada gösterilen örnekteki gibi, for döngüsü ile gonder'e gelen parametreleri iterate eder istediğini yaparsın.
bir de varargs kullanımından bağımsız olarak, array elemanlarını tek tek göndereceğine doğrudan array'i parametre olarak göndersen daha mantıklı olur gibi.
gonder butonuna kaç tane veri geldiğini bilmek zorunda değilsin,
şurada gösterilen örnekteki gibi, for döngüsü ile gonder'e gelen parametreleri iterate eder istediğini yaparsın.
bir de varargs kullanımından bağımsız olarak, array elemanlarını tek tek göndereceğine doğrudan array'i parametre olarak göndersen daha mantıklı olur gibi.
- ocanal (30.04.13 19:24:19)
dizi yerine vektör alsın metodun, vektörün eleman sayısı hiç fark etmez.
- desdinova (30.04.13 22:32:03)
1