Upper/Lower Bounded Wildcards

Daha önce belirttiğim gibi Box<T> şeklinde parametrelendirilmiş bir sınıfa herhangi bir türden nesne atabiliyorduk.Örneğin; public class Box<T>{ private T t; public T getT() {return t;} public void addT(T t) {this.t = t;} public static void main(String args[]){ Box box = new Box(); box.addT(new Integer(20)); System.out.println(box.t.getClass().getName()); box.addT(“meriç”); System.out.println(box.t.getClass().getName()); } } Koddan da anlaşılacağı üzere t değişkeni […]

Bunu paylaş :

Wildcards

Javada “Object” sınıfı otomatik olarak tüm oluşturulan sınıfların üst sınıfıdır.(base class).Bu özellikten faydalanarak object sınıfı nesnesine diğer tüm nesneler atanabilir.Örneğin; public class House { public static void main(String args[]){ House myhouse = new House(); Object myobject = new Object(); myobject = myhouse; } } Bu tarz işlemler generic kullanarak aşağıdaki gibi yapılabilir. public class Box<Number>{ […]

Bunu paylaş :

Çok Parametreli Generic Sınıflar

Tip parametresi ve Tip Argümenti : Eğer bir sınıf Ev<T> şeklinde yazıldıysa bu bir tip parametresidir,T primitive olmayan herşey olabilir.Ancak T’nin ne olduğu Ev<String> şeklinde belirlendiyse bu bir tip argümentidir ve T artık Stringtir. Aşağıda çok parametreli bir Ev sınıfı var. class Ev<K,V>{ private K key; private V value; public K getKey() {return key;} public […]

Bunu paylaş :

Generics nedir,neden kullanılır?

Generic’in Türkçe karşılığının genel,jenerik olduğu söylenebilir.Adından da anlaşıldığı üzere bir tipi genelleştirme amacıyla kullanılabilir. Generic kullanmanın faydalarından ilki kodu daha okunabilir yapmasıdır.Örneğin generic kullanmadan bir arraylist’e eleman eklemek istediğimizde type-casting yapmak zorunda kalırız. List list = new ArrayList(); list.add(“meriç”); String s = (String) list.get(0); Aynı işlemi Generic kullanarak şu şekilde yapabiliriz. List<String> list = new ArrayList<String>(); […]

Bunu paylaş :