Merhaba,
Bu yazımda sizlere javada varargs kullanımından
bahsedeceğim.
Diyelim ki bir method
tanımlamak istiyorsunuz ve bu method bazen String bazen Integer parametre ile
çağrılacak. Hatta bazı durumlarda hem String hem Integer parametreyi aynı anda göndermek
isteyeceksiniz. Yani metodun hangi
tipteki parametre ile çağrılacağını bilmiyorsunuz. Eğer sadece bir bilinmeyen
tipte sadece bir parametre yollayacak olsaydık bu durumda yapmamız gereken işlem metodu Object
tipinde bir parametre ile çağırmak
olacaktı. Ancak birden fazla ve farklı tiplerdeki parametre(String,Integer,boolean.. vs aynı anda) ile aynı anda göndermek istediğimizde bu tanımlama işimize
yaramayacaktı. İşte tam elimiz kolumuz
bağlandı mı diye düşünürken varargs kullanımı
yardımımıza konuşuyor. Object...
(üç nokta array olduğunu belirtiyor) tipinde bir parametre alan foo adında bir
method tanımlıyoruz. Ve bu metodu
istediğimiz tiple çağırıp kullanabiliyoruz. Aşağıda örnek bir kodlama yaptım incelemenizi tavsiye ederim. Bir çok projede bu kullanım işinize yarayacaktır.
Kod örneği:
package com.lvt; /** * Created by leventyildiz on 17/03/16. */ public class Run { public static void main(String[] args) { foo("Levent", 123, true); } public static void foo(Object... objects) { for (Object s : objects) { System.out.println(s.toString()); } } }
çıktı:
Levent 123 true
javada String class’ı içerisinde kullanımı.
public static
String format(Locale l,
String format, Object... args) {
return new Formatter(l).format(format, args).toString();
}
return new Formatter(l).format(format, args).toString();
}
Formatter class’ında ki kullanımından bir örnek:
public Formatter format(String format, Object ... args) { return format(l, format, args); }
String classıyla bir örnek yapalım:
String str = String.format("integer values: %d - %s", 5,"aliveli"); System.out.println(str);
Burada String class’ı içindeki format methoduna hem String
hem Integer parametreyi aynı anda gönderdik.
Çıktı:
integer values: 5 - aliveli
Hiç yorum yok:
Yorum Gönder