6 Ağustos 2020 Perşembe

Contravariance

Giriş
<? super Dog> bazı kısıtlar ile geliyor.
1. Bu listeye sadece ekleme yapılabilir. Eklenen nesneler Dog veya Dog'tan kalıtan sınıflar veya null olabilir.
2. Bu nesneden okuma yapılacaksa sadece Object tipi elde ederiz.

Örnek
Şöyle yaparız
List<? super Dog> dogs = new ArrayList<Animal>();
// dogs.add(new Animal()); // compile error, need to put Dog in
dogs.add(new Dog());
Object obj = dogs.get(0);
// Dog dog = dogs.get(0); // compile error, can only take Object out

Hiç yorum yok:

Yorum Gönder