Hier noch eine Aufgabe, die ich einfach nicht verstehe.
Aufgabe:
Zunächst soll die Klasse GenericElement um einen generischen Typparameter T
erweitert werden. Nun soll das Attribut value vom Typ T sein. Der Konstruktor und die
Methoden müssen entsprechen angepasst werden.
Der Typ T soll auch Comparable sein. Damit value mittels compareTo mit einem
anderen value verglichen werden kann.
Nun soll Klasse das Interface Comparable implementieren. Hierbei soll das Interface
Elemente vom Typ GenericElement<T> annehmen.
Implementieren Sie die compareTo Methode die durch das Interface vorgegeben wird so
das value von diesem Objekt mit dem value aus dem Argument der compareTo
Methode verglichen wird und das Ergebnis zurückgegeben wird.
Mein Code bis jetzt:
So, wie ich das gemacht habe, kommt diese Fehlermeldung -> The method compareTo(Integer) in the type GenericElement<Integer> is not applicable for the arguments (GenericElement<Integer>)
Ich hoffe, ihr könntet mir Helfen und mir sagen, was ich hier falsch mache.. Ich verzweifle leider auch hier schon länger an der Lösung..
Ich danke euch schonmal für jede Antwort
Aufgabe:
Zunächst soll die Klasse GenericElement um einen generischen Typparameter T
erweitert werden. Nun soll das Attribut value vom Typ T sein. Der Konstruktor und die
Methoden müssen entsprechen angepasst werden.
Der Typ T soll auch Comparable sein. Damit value mittels compareTo mit einem
anderen value verglichen werden kann.
Nun soll Klasse das Interface Comparable implementieren. Hierbei soll das Interface
Elemente vom Typ GenericElement<T> annehmen.
Implementieren Sie die compareTo Methode die durch das Interface vorgegeben wird so
das value von diesem Objekt mit dem value aus dem Argument der compareTo
Methode verglichen wird und das Ergebnis zurückgegeben wird.
Mein Code bis jetzt:
Java:
public class GenericElement <T extends Comparable <T>> { // Die Klassendeklaration muss noch angepasst werden.
private GenericElement <T> next;
private T value; // Soll generisch werden.
public GenericElement(T value, GenericElement<T> next) {
this.value = value;
this.next = next;
}
public GenericElement<T> getNext() {
return next;
}
public void setNext(GenericElement<T> next) {
this.next = next;
}
public T getValue() {
return value;
}
public void setValue(T value) {
this.value = value;
}
// Die Methode compareTo soll hier implementiert werden.
// Zu bearbeitender Bereich:
public int compareTo (T o) {
return this.value.compareTo(o);
}
//Ende des zu bearbeitenden Bereichs
}
So, wie ich das gemacht habe, kommt diese Fehlermeldung -> The method compareTo(Integer) in the type GenericElement<Integer> is not applicable for the arguments (GenericElement<Integer>)
Ich hoffe, ihr könntet mir Helfen und mir sagen, was ich hier falsch mache.. Ich verzweifle leider auch hier schon länger an der Lösung..
Ich danke euch schonmal für jede Antwort
Zuletzt bearbeitet von einem Moderator: