Der folgende Code enthält einen Getter auf eine Menge von Objekten mit Klasse T:Return-Objekt typisiert mit generischen Klasse Typ
public class Cube <T extends State> {
private Set<T> states = new HashSet<>();
public Set<T> getStates() {
return states;
}
}
Was mir die gültige Art und Weise schien der Satz von Zuständen zurückzukehren. Es gibt jedoch stattdessen eine Reihe von Objekten zurück. Der Versuch, zu verwenden:
Cube<DestinationState> cube = new Cube<>();
Set<DestinationState> set = cube.getStates();
Yields einen Compiler-Fehler in der zweiten Zeile:
Error:(187, 61) java: incompatible types: java.lang.Object cannot be converted to nl.gijspeters.pubint.graph.state.DestinationState
Staat ist eine generische Schnittstelle mit mehreren Implementierungsklassen (unter denen DestinationState) und Subinterfaces.
Dies kann sehr wohl eine doppelte Frage sein (wie es scheint ziemlich einfach), aber ich war nicht in der Lage, die Antwort zu finden.
ändern 'neue Cube so versuchen();' auf 'neue Cube <>();' –
Typo in Frage, das ist der Fall im eigentlichen Code. Behoben. –
Probieren Sie Ihren Code in meinem "Playground" -Projekt, keine Kompilierungsfehler, obwohl –