Mahlzeit
Mir machen Generics mal wieder Ärger. Folgendes Problem:
Soweit, so schön. Jetzt foppt mich der Compiler:
Die Deklaration des Arrays hat nichts mit den Generics zu tun. Der Rückgabetyp ändert sich nicht. Ich könnte das jetzt jedesmal hin und hercasten, aber das ist gefällt mir gar nicht. Hat jemand eine Idee, wie ich das fixen kann? An mihe7s Annotationsprozessor liegt es übrigens nicht, der Compiler meckert auch ohne AP. (Und wenn man das ohne AP lösen kann, wäre das prima.)
Hat sich da eigentlich was seit Java8 getan? Wenn das Problem in Java12 behoben wurde würde ich mir ernstlich die Mühe machen und wechseln.
Mir machen Generics mal wieder Ärger. Folgendes Problem:
Java:
@ForceDeclaredGenerics //Annotation von mihe: [URL]https://www.java-forum.org/thema/generics-vererbung.185397/[/URL]
public abstract SuperClass<T, U, V, W>{
//Some methods...
public ArrayList<IWantToHaveThisClassReturn> getAnArrayList(){
}
}
Soweit, so schön. Jetzt foppt mich der Compiler:
Java:
public class InheritedFromSuperClass extends SuperClass<1Class, 2Class, 3Class, 4Class>{
//Some methods...
}
public static main{
ArrayList<IWantToHaveThisClassReturn> list;
InheritedFromSuperClass problemClass = new InheritedFromSuperClass();
list = getAnArrayList(); //Compiler: Incompatible types: Object cannot be converted to IWantToHaveThisClassReturn
}
Die Deklaration des Arrays hat nichts mit den Generics zu tun. Der Rückgabetyp ändert sich nicht. Ich könnte das jetzt jedesmal hin und hercasten, aber das ist gefällt mir gar nicht. Hat jemand eine Idee, wie ich das fixen kann? An mihe7s Annotationsprozessor liegt es übrigens nicht, der Compiler meckert auch ohne AP. (Und wenn man das ohne AP lösen kann, wäre das prima.)
Hat sich da eigentlich was seit Java8 getan? Wenn das Problem in Java12 behoben wurde würde ich mir ernstlich die Mühe machen und wechseln.