yapar: "dönüş türleri olarak joker türlerini kullanmak yerine onları zorlayacaktır kullanıcılar için daha fazla esneklik sağlayan vermeyin. İstemci kodunda joker karakterlerini kullanmak. "Neden Etkili Java Second Edition, Madde 28 Gönderen Guava en TypeToken <T> .getRawType() dönüş Class <? super T> yerine Class <T>
public final Class<? super T> getRawType()
Sadece ben yazıyorum kod parçası var son kontrolsüz döküm uyarıyı anlamak için jenerik joker karakterler ile sardı alıyorum ve getRawType() bir joker türü verir neden anlamıyorum.
class Base<T>{}
class Child<T> extends Base<T>{}
public <C> void test (TypeToken<? extends Base<C>> token) {
Class<? extends Base<C>> rawType = (Class<? extends Base<C>>) token.getRawType();
}
Ben bir
Class<? super ? extends Base<C>>
Teşekkürler @newacct, işte bu Anlamadım ama ArrayList'un ArrayList'i genişletmesi mantıklı. super T> Sınıfı, ne geri döndüğüne dair açıklayıcıdır, ancak müşteri kodu söz konusu olduğunda, her zaman sizin de yayınlamanız gerektiğinden, Class >'u iade edebilir. –
MikeB