Y
Yankee
Gast
Ich bräuchte mal Hilfe in Sachen generischer Programmierung. Und zwar ist auszugsweise Folgendes gegeben:
Allerdings erhalte ich für die Methode DirectedGraph folgenden Compiler-Fehler:
Wenn ich <E,F> in den Signaturen der Methoden weglasse, erhalte ich "nur" folgendes Warning (sieht aber eigentlich genauso wenig gut aus) für die Zeile in der Implementierung der Methode:
Ich habe keine Ahnung, was ich falsch mache, deswegen hoffe ich, mir kann jemand hier weiterhelfen.
Danke schon mal im Vorraus.
Code:
public interface Graph<E,F> extends Visitable {
public void removeEdge(Node<E,F> from, Node<E,F> to);
}
public class DirectedGraph<E,F> implements Graph {
public void removeEdge(Node<E,F> from, Node<E,F> to) {
from.removeEdge(to);
}
}
Allerdings erhalte ich für die Methode DirectedGraph folgenden Compiler-Fehler:
Name clash : The method removeNode(Node<E,F>) of type DirectedGraph<E,F> has the same erasure as removeNode(Node<E,F>) of type Graph but does not override it
Wenn ich <E,F> in den Signaturen der Methoden weglasse, erhalte ich "nur" folgendes Warning (sieht aber eigentlich genauso wenig gut aus) für die Zeile in der Implementierung der Methode:
Type safety: The method removeEdge(Node) belongs to the raw type Node. References to generic type Node<E,F> should be parameterized
Ich habe keine Ahnung, was ich falsch mache, deswegen hoffe ich, mir kann jemand hier weiterhelfen.
Danke schon mal im Vorraus.