Hallo, ich bin beim Programmieren meines ersten Generics auf Probleme gestoßen. Vorab: das programm unten macht natürlich nichts sinnvolles und soll nur deutlich machen wo mein problem liegt.
Zum eigentlichen Problem:
Bei changeTo(b) wird folgender Fehler ausgegeben:
The method changeTo(List<T>) in the type List<T> is not applicable for the arguments (List<Integer>)
mir ist klar dass a.changeTo(b) funktionieren würde, allerdings verbietet das die aufgabenstellung, ebenso wie die benutzung von typecasts
hat jemand eine idee, wo der fehler liegen könnte? danke für antworten!
[Java]
public class List<T> {
// AttributE
public T info;
public List<T> next;
// KonstruktorEN
public List(T info, List<T> next) {
this.info = info;
this.next = next;
}
// MethodeN
public void insert(T x) {
next = new List<T>(x,next);
}
public void delete() {
if (next!=null) next=next.next;
}
public List<T> changeTo(List<T> list){
return list;
}
// Hauptprogramm
public static void main(String[] args){
List<Integer> a = new List<Integer>(1, null);
a.insert(2); a.insert(3);
List<Integer> b = new List<Integer>(4, null);
b.insert(5); b.insert(6);
changeTo(b);
}
}
[/Java]
Zum eigentlichen Problem:
Bei changeTo(b) wird folgender Fehler ausgegeben:
The method changeTo(List<T>) in the type List<T> is not applicable for the arguments (List<Integer>)
mir ist klar dass a.changeTo(b) funktionieren würde, allerdings verbietet das die aufgabenstellung, ebenso wie die benutzung von typecasts
hat jemand eine idee, wo der fehler liegen könnte? danke für antworten!
[Java]
public class List<T> {
// AttributE
public T info;
public List<T> next;
// KonstruktorEN
public List(T info, List<T> next) {
this.info = info;
this.next = next;
}
// MethodeN
public void insert(T x) {
next = new List<T>(x,next);
}
public void delete() {
if (next!=null) next=next.next;
}
public List<T> changeTo(List<T> list){
return list;
}
// Hauptprogramm
public static void main(String[] args){
List<Integer> a = new List<Integer>(1, null);
a.insert(2); a.insert(3);
List<Integer> b = new List<Integer>(4, null);
b.insert(5); b.insert(6);
changeTo(b);
}
}
[/Java]