0 oy
28 gösterim
Java'da Class<?> şeklindeki bir tanım ne anlama gelir?
Java kategorisinde (267 puan) | 28 gösterim

Sadece bu kadarlık kullanımdan pek anlamadım. Tam kullanım örneği verir misin?

Genel bilgi olarak yazayım. Generics konusunda <?> demek herhangi bir sınıf demek

Mesela bir fonksiyona list geçeceksiniz list içindeki sınıfın pek önemi yok, o zaman kullanabilirsin

...

public hepsiniYaz(List<?> list) {
  for(Object o : list) {
    println(o);
}
...

Diye kullandığın zaman List<String> olması ile List<ADT> olması arasında bir fark yok.

Şöyle bir şekilde kullanılmıştı:

Class<?>[] paramTypes = new Class[] { ClassAbc.class };

1 cevap

0 oy
Class<?>[] paramTypes = new Class[] { ClassAbc.class };

Böyle bir kullanımda bir Class dizisi oluşturulmak isteniyor. Bu dizi içinde de sınıfların hafızadaki örnekleri (instance) değil, sınıfın blueprint denilen kodlarını almış oluyor. Sınıfın hangi sınıf olduğu önemsiz olduğu için <?> kullanılmış.

(4k puan)

İlgili sorular

+1 oy
2 cevap
14 Ocak 2016 Java kategorisinde kenan (4k puan) sordu | 70 gösterim
0 oy
1 cevap
15 Ağustos 2018 Php kategorisinde kenan (4k puan) sordu | 45 gösterim
0 oy
1 cevap
26 Nisan 2018 Php kategorisinde kenan (4k puan) sordu | 54 gösterim
0 oy
1 cevap
9 Ocak 2018 Genel Kavramlar kategorisinde kenan (4k puan) sordu | 136 gösterim
0 oy
1 cevap
13 Aralık 2016 Web Programlama kategorisinde buzel (586 puan) sordu | 315 gösterim