dönüş türünü zorlamak için bir yolu var mı yöntemin dönüş türü ile eşleşmez (Collection<Base>
). Bunun neden olduğunu anlıyorum: jenerik tipler farklı olduğu için, iki sınıf kalıtımla ilgili değildir.Bir temel sınıf bir koleksiyon dönen bir yöntemi var Arrays.asList
Derleme hatasının, türetilen nesnelerden birini Temel'e dönüştürmek için, yöntemin dönüş türünü Arrays.asList kullanarak değiştirmemesini düzeltmenin birçok yolu vardır.
Derleyiciye, Arrays.asList çağrısının genel türünü çözümlediğinde farklı ancak uyumlu bir tür kullanmasını söylemenin bir yolu var mı? (Ben bu kalıbı kullanmaya çalışıyorum ve bu sorun haline çalışan, bu yüzden o iş yapmak için bir yolu varsa, bunu bilmek istiyorum tutun.)
SanaCollection<Base> getCollection()
{
return Arrays.asList<Base>(new Derived(),
new Derived());
}
gibi bir şey yapabileceğini düşündüm
Bunu derlediğimde (java 6), derleyici, virgülle bir ')' beklediğinden şikayet ediyor.
Diziler. asList –