tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
242
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Xerxess81 Xerxess81 ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    11
    Ich habe eine ArrayList erstellt, in der ich Objekte der Klasse Daten speichern möchte. nun habe ich die Liste so initialisiert:

    Daten neu = new Daten();
    ArrayList<Daten> liste = new ArrayList<Daten>();

    soweit so gut.

    nun wollte ich verschiedene Dinge in der Liste speichern wie man sich denken kann. Dazu folgte dieses:

    while ((ein = datei.readLine()) != null) //Zeilenwechsel einer Datei
    {
    .....

    neu.daten(volumen, name, domain, ip, url); //Hier übergeb ich Parameter, die im Objekt Daten gespeichert werden.

    liste.add(neu); //Die Liste wird mit dem Objekt gefüllt
    }
    System.out.println(liste);

    Wenn ich mir jetzt die Liste anzeigen lasse werden mir dort nicht pro Listenplatz unterschiedliche Daten angezeigt, sondern alle Plätze haben den gleichen Inhalt. Immer gleiche Namen, gleich Domain..... Was könnte ich da vergessen haben?
     

  2. #2
    Xandro Xandro ist offline - Mistkerl -
    Registriert seit
    Oct 2005
    Beiträge
    255
    Moin,

    ein wenig rar der Code aber naja.

    Erst einmal fällt mir auf, dass Du immer ein und dasselbe Objekt in Deiner Liste speicherst.
    Du solltest schon ein neues Objekt übergeben à la:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    while ((ein = datei.readLine()) != null)
    {
     [...]
     Daten new = new Daten(Parameter);
     liste.add(new);
     
     liste.add(new Daten(Parameter)); // abgespeckte Version
    }

    Überprüfe aber bitte auch Deine Paramater, ob diese sich wirklich ändern, z.B. mit println().

    Gruß,
    Xan
     

  3. #3
    Xerxess81 Xerxess81 ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    11
    Danke dir, dass könnte schon der Hinweis sein, den ich brauche. Werde es gleich einmal ausprobieren
     

  4. #4
    Xerxess81 Xerxess81 ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    11
    Schade, es hörte sich nach einer Lösung an, war es aber leider nicht...

    Ich habe mir auch mal die Parameter angeschaut, und mir die in jedem Durchlauf angeben lassen, diese sind in jedem Durchlauf auch anders.

    Die Liste jedoch enthält immernoch die gleichen Objekte, keine Unterschiede. An jeder Position steht immer das allerletzte Objekt, d.h. dass auch an der ersten Position der Liste der Inhalt der letzten Position steht.....
    Genauerer Aufbau der Schleife:

    while ((ein = datei.readLine()) != null)
    {
    Festlegen der Parameter;
    Daten neu = new Daten(Parameter);

    liste.add(neu);
    liste.add(new Daten(Parameter);
    }

    Die Liste hat sich auch wunderbar dynamisch erweitert, jedoch steht an jeder Position das zuletzt erstellte Objekt.
     

  5. #5
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    vielleicht solltest du mal die ganze while-Schleife mal posten.
    Das ganze wird daran liegen, dass in jedem Daten-Object, das gleiche Object ist. Wenn du dann halt einmal die Daten änderst, sind sie bei allen Feldern in der Liste geändert.

    MFG

    Sascha
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  6. #6
    Xerxess81 Xerxess81 ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    11
    Dummer Fehler meinerseits:
    Die Eigenschaften in der Klasse Daten waren static,
    somit war es klar, dass sich immer wieder alles überschreibt.....

    Ich bedanke mich an dieser Stelle für eure Mühe und entschuldige mich für meinen Fehler.
     

Ähnliche Themen

  1. ArrayList in einer ArrayList
    Von xXchrissiXx im Forum Java
    Antworten: 8
    Letzter Beitrag: 10.04.07, 10:14
  2. Inhalt einer ArrayList in andere ArrayList kopieren
    Von Pierre im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 05.07.05, 16:58
  3. Newsscript - Nachfrage
    Von TequillaSun im Forum PHP
    Antworten: 2
    Letzter Beitrag: 27.12.04, 01:31
  4. exe starten ohne nachfrage
    Von mihawk im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 14.02.04, 14:47