2009-10-08 11 views

cevap

7

Ama yansıma API kullanarak öğrenmek için mümkündür. Field.getGenericType():

Type type = field.getGenericType(); 
if (type instanceof ParameterizedType) { 
    Type[] genericArguments = ((ParameterizedType) type).getActualTypeArguments(); 
} 
+0

Şunlara bakın: Haklısınız, ama bu garip: Bilginin çalışma zamanında kaybolduğunu düşündüm. Bu makale yansıma jenerikleri güncel değil mi? http://www.artima.com/weblogs/viewpost.jsp?thread=208860 –

+0

Bu makalede, yukarda yayınladığım kodun benzeri bazı örnekleri vardır. Belirli jenerik bilgileri çalışma zamanında kaybolur; statik olarak beyan edilen alan/yöntem beyanları değildir. mod ayrıntılar için Java Jenerik SSS bir göz atın: http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html – ChssPly76

+0

Teşekkür! Apaçık fark, doğrudan genel ara yüzlere veya üst sınıflara bakmaktan ziyade sahaya bakıyor. Bir sebepten dolayı, sadece tarlaya bakmayı düşünmemiştim. –