generics hakkında bir Java sorum var. Ben genel bir listesini ilan: SonraListesi <? MyType>
List<? extends MyType> listOfMyType;
ben başlatır ve bu listeye öğe eklemek deneyin bazı yöntemde: myTypeInstance
tip MyType
sadece bir nesnedir
listOfMyType = new ArrayList<MyType>();
listOfMyType.add(myTypeInstance);
; Derleme yapmaz. Şöyle ki:
yöntem eklenti 3-tipi Listesi < yakalama # da (? Yakalama 3.-of MyType uzanır)? genişletir MyType> geçerli değil Bağımsız değişkenler için (MyType)
Herhangi bir fikrin var mı?
Josh Bloch dediği gibi: "PECS hatırlayın: Üretici, Tüketici Süper genişletir." ListOfMyType bir tüketici olduğundan (buna ekliyorsunuz), "süper" geçerli ve "genişliyor" değil. –
Bağlantılar artık bozuk. –
Pedallık Noktası: '' null '' öğesini genişletebilirsiniz.Ayrıca daha önce aldığınız "tür" türlerini ve "koy" referanslarını da yakalayabilirsiniz. –