-- Java Programlama Dili, Java SE

Ç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 void setKey(K key) {this.key = key;}

    public V getValue() {return value;}

    public void setValue(V value) {this.value = value;}

    public Ev(K key, V value) {
        this.key = key;
        this.value = value;
    }
}


public class Main {

    public static void main(String[] args) {

         Ev<String,String> ev1 = new Ev("Beyaz Ev","Büyük Ev");
        Ev<Integer,Integer> ev2 = new Ev(3,5);
        Ev<String,Integer> ev3 = new Ev("Mavi Ev",2);
     /*  Ev<int,int> ev4 = new Ev(10,20);  çalışmaz int = primitive type*/
        
        System.out.println(ev1.getKey());
        System.out.println(ev1.getValue());
        System.out.println(ev2.getKey());
        System.out.println(ev2.getValue());
        System.out.println(ev3.getKey());
        System.out.println(ev3.getValue());


    }
}

ev1 için;

Key değişken tipi     =   String

Value değişken tipi =  String

ev2 için;

Key değişken tipi    =   Integer

Value değişken tipi =  Integer

ev3 için;

Key değişken tipi    =   String

Value değişken tipi =  Integer

ev4’te yapılan  <int,int> gibi bir implementasyon hata verir.Çünkü int primitive bir tiptir ve generic tip parametleri primitive olamaz.

 

 

Yorum bırak

Yorum