Hallo Leute,
ich habe da ein Problem mit Generics, vielleicht kann mir jemand helfen:
Ich schreibe einen Binären Suchbaum, dessen Inhalt mit Hilfe von Generics
bestimmt werden soll. Es gibt eine Methode insertNode, die folgendermaßen
aussieht:
Das möchte javac nicht, da für content vom unbekannten Typ <T> eine Methode compareTo
aufgerufen wird.
Frage: Wie kann ich so etwas anders implementieren? Möglich wäre natürlich Vererbung, ich
würde aber gerne eine Lösung mit Generics probieren. Ist dies möglich?
Schonmal Danke für die Antwort,
MrMurdstone
ich habe da ein Problem mit Generics, vielleicht kann mir jemand helfen:
Ich schreibe einen Binären Suchbaum, dessen Inhalt mit Hilfe von Generics
bestimmt werden soll. Es gibt eine Methode insertNode, die folgendermaßen
aussieht:
Code:
public boolean insertNode(BinSearchTreeNode<T> inputNode) {
//wenn das Argument kleiner als der aufrufende Knoten ist, links einfügen
if (content.compareTo(inputNode.getContent()) < 0) {
if (leftTreeNode != null)
return leftTreeNode.insertNode(inputNode);
else {
leftTreeNode = inputNode;
return true;
}
}
//wenn Argument und aufrufender Knoten gleich groß sind, false zurückgeben
//(keine doppelten Elemente)
if (content.compareTo(inputNode.getContent()) == 0)
return false;
//wenn das Argument größer als der aufrufende Knoten ist, rechts einfügen
if (rightTreeNode != null)
return rightTreeNode.insertNode(inputNode);
else {
rightTreeNode = inputNode;
return true;
}
}
Das möchte javac nicht, da für content vom unbekannten Typ <T> eine Methode compareTo
aufgerufen wird.
Frage: Wie kann ich so etwas anders implementieren? Möglich wäre natürlich Vererbung, ich
würde aber gerne eine Lösung mit Generics probieren. Ist dies möglich?
Schonmal Danke für die Antwort,
MrMurdstone