Hallo!
Ich habe da mal eine Frage. Fragt aber bitte nicht nach dem Sinn dieses Programms, denn das ist eine Aufgabe, die ich lösen soll, wo ich aber an einer Stelle nicht weiter komme. Ich habe den Programmcode wegen der Übersichtlichkeit etwas gekürzt - ich hoffe nicht zu sehr.
Das Problem ist nun: Überall, wo "String" steht, soll auch String hin (Wieso auch immer....). Da stand vorher "Object" und es funktionierte. Mit "String" bekomme ich aber folgende Meldung....
Der mag den Integer da wohl nicht. Ich meine da auch mal irgendwann was mitbekommen haben, dass man Strings und Integer nicht mischen soll.
In die Liste sollen neben Zahlen auch Strings eingefügt werden. Gibt es eine Möglichkeit dies irgendwie zu lösen, ohne aus "String" ein "Object" zu machen?
Ich habe da mal eine Frage. Fragt aber bitte nicht nach dem Sinn dieses Programms, denn das ist eine Aufgabe, die ich lösen soll, wo ich aber an einer Stelle nicht weiter komme. Ich habe den Programmcode wegen der Übersichtlichkeit etwas gekürzt - ich hoffe nicht zu sehr.
Code:
import java.lang.*;
public class DoubleList {
class ListElem { // 'ListElem' implementiert ein Listenelement
private ListElem m_Next; // dies ist der Nachfolger
private ListElem m_Prev; // dies ist der Vorgänger
private String m_Elem;
/* Der Konstruktor erwartet das zu speichernde Element und den Verweis
* auf das nächste Listenelement. */
public ListElem(String obj, ListElem next, ListElem prev) {
m_Next = next;
m_Prev = prev;
m_Elem = obj;
if (m_Next != null) // Wenn es das nächste Elemnt gibt, dann
m_Next.setPrev(this); // ... bin ich der Vorgänger davon
if (m_Prev != null) // Wenn es das vorherige Element gibt,
m_Prev.setNext(this); // ... dann bin ich der Nachfolger davon
}
public void setNext(ListElem next) {
m_Next = next;
}
public void setPrev(ListElem prev) {
m_Prev = prev;
}
}
private ListElem m_Head; // Eine Liste merkt sich nur das 1. Listenelem.
public DoubleList() {
m_Head = null;
}
// Ein Element wird eingefügt
public void addElement(String obj) {
m_Head = new ListElem(obj, m_Head, null);
}
public static void main(String[] args) {
DoubleList dl = new DoubleList(); // Liste 'dl' anlegen ...
for ( int i = -100; i < 100; ++i ) { // ... 200 Elemente in
dl.addElement(new Integer(i)); // diese Liste einfügen
}
dl.print();
}
}
Das Problem ist nun: Überall, wo "String" steht, soll auch String hin (Wieso auch immer....). Da stand vorher "Object" und es funktionierte. Mit "String" bekomme ich aber folgende Meldung....
.\DoubleList.java:100: addElement(java.lang.String) in DoubleList cannot be applied to (java.lang.Integer)
dl.addElement(new Integer(i)); // diese Liste einfügen
Der mag den Integer da wohl nicht. Ich meine da auch mal irgendwann was mitbekommen haben, dass man Strings und Integer nicht mischen soll.
In die Liste sollen neben Zahlen auch Strings eingefügt werden. Gibt es eine Möglichkeit dies irgendwie zu lösen, ohne aus "String" ein "Object" zu machen?