einlaggern von Objekten in ein Vektor

Status
Nicht offen für weitere Antworten.
I

IchDa

Gast
Hallo zusammen
Ich frag mich jetzt schon über 4h warum folgendes nicht geht:
Ich versuche sozusagen eine Adressverwaltung zu erstellen um Java zu lernen.
Man gehe davon aus, dass ich eine Datei habe, worin all die einzelnen Adressen gespeichert werden.
Logischerweise (zumindest für mich) ist 1 Adresse = 1 Adressobjekt(Name, Strasse, PLZ, Ort).
Jetzt wird bis zum ende der Datei eingelesen: 1 Zeile = Name, Nächste Zeile = Strasse usw. und dann gehts wieder von vorne loss. Sobald ein Adressobjekt vollständig ist, soll es in ein Vektor eingelaggert werden.
Das Problem ist aber, dass wenn ich das geänderte Objekt "adrtemp" in den Vektor als neues element anfüge, alle elemente im Vektor diese Änderungen annehmen. Was kann ich dagegen tun???

Ich hoffe ihr könnt mit meinen Angaben was anfangen...

Danke schon mal für die hilfe

Gruss Tobias



hier der Code:
Code:
c=0;
while(temp != null){
          switch(c){//Anzahl Eigenschaften
            case 0://Name 
              adrtemp.setName(VName, NName);
              break;
            case 1://Strasse
              adrtemp.setStrasse(temp);
              break;
            case 2://PLZ
              int postleizahl=0;
              Integer PLZtemp = new Integer(temp);
              postleizahl = PLZtemp.intValue();
              adrtemp.setPLZ(postleizahl);
              break;
            case 3://Ort
              adrtemp.setOrt(temp);
              break;
            case 4://Telefonnr.
              adrtemp.setTelefon(temp);
              break;
            case 5://Beruf
              adrtemp.setBeruf(temp);
              data.addElement(adrtemp);
              c=-1;
              break;
            default:
              System.out.println("Programmfehler beim lesen der Datei");
              break;
          }
          temp = br.readLine();
          c++;
}
 

Jaraz

Bekanntes Mitglied
Hallo,

case 5://Beruf
adrtemp.setBeruf(temp);
data.addElement(adrtemp);
adrtemp = new DeinObject();
c=-1;
break;


Gruß Jaraz
 
I

IchDa

Gast
Hey Jaraz, danke dir, das hat wirklich geklapt.
Ich kapier aber nicht ganz warum ich adrtemp = new DeinObject(); reinmachen muss; sobald ein Objekt in ein Vektor eingelagert wird, kann es doch egal sein, was danach mit dem Objekt geschieht. Also wenn ich die eigenschaften einfach überschreib, sollte es doch theoretisch auch gehen??
Könntest du mir das erklären???
Is aber soweit schon mal super, ich denke ich kann jetzt weitermachen :D
Danke Danke Danke

Gruss Tobias :D :D :D
 

Jaraz

Bekanntes Mitglied
Java arbeitet fast ausschließlich mit Referenzen, wenn du zwischendurch nicht ein neues Object erstellst, änderst du immer dasselbe Object und im Vector stehen dann x Referenzen auf das eine Object.

Gruß Jaraz
 
I

IchDa

Gast
Aber wenn ich
Code:
adrtemp = new blalba()
mache, dann bedeutet dass doch, dass ich ein neues Objekt namens adrtemp vom typ/klasse blalba machen will. Das Objekt adrtemp existiert jedoch schon. Oder wird das objekt sozusagen nur "geresetet", dann wär mir nämlich allmählich alles klar und logisch!

danke für deine Antwort
 

Tobias

Top Contributor
Ja, das ist in etwa so, als wenn die bei VW nach dem ersten Golf 5 sagen würden, "So, der existiert jetzt schon und wird jetzt 5 Millionen mal verkauft.". Ein Objekt, das mit new angelegt wurde, hat bestimmte Eigenschaften (die Instanzvariablen), die es einzigartig machen. Wenn man ein neues Objekt haben will - also eines mit neuen Eigenschaften, muss man sich eins machen - wiederum mit new. Und nur die Eigenschaften zu ändern, bringt auch nix, weil den einen Golf 5 kann ich auch dann nicht millionenfach verkaufen, wenn ich ihn nach jedem Verkauf umspritze.

mpG
Tobias
 
G

Guest

Gast
Ok stimmt, da hast du völlig recht, ich glaub mir wird der sinn von Objektorientiertem Programmieren immer klarer. Aber was ich mich jetzt noch frage, was bezwecke ich mit
Code:
adrtemp = new blalba()
mit new erzeug ich ja ein neues Objekt einer Klasse, das ist mir klar, aber in meinem Fall existiert das objekt "adrtemp" bereits, das heisst, er sollte doch dieses Objekt gar nicht anlegen können?! mit deiner Golf 5 erklärung versteh ich das wirklich so, als dass mit mit ein neuer Wagen vom Typ Golf 5 gebaut wird, dieser ist aber einzigartig und kann nicht mehrfach verkauft werden. Wenn ich das jetzt mit meinem Beispiel vergleiche wäre dass aber ja, wie wenn ein Golf 5 mehrfach an verschiedene Käufer verkauft würde.

Bin ich irgendwie schwer von begriff?!

Ich danke für die Antwort
Tobias
 

Jaraz

Bekanntes Mitglied
Bildlich gesprochen ist adrtemp der Parkplatz für einen Golf. In das alte Golf Object sind 4 Leute(Variablen) eingestiegen und auf den Vector Autobahn gefahren, auf den Parkplatz kannst du nun einen neuen leeren Golf den du dir mit new erzeugst stellen.

Gruß Jaraz
 

Thanni

Bekanntes Mitglied
Anonymous hat gesagt.:
Ok stimmt, da hast du völlig recht, ich glaub mir wird der sinn von Objektorientiertem Programmieren immer klarer. Aber was ich mich jetzt noch frage, was bezwecke ich mit
Code:
adrtemp = new blalba()
mit new erzeug ich ja ein neues Objekt einer Klasse, das ist mir klar, aber in meinem Fall existiert das objekt "adrtemp" bereits, das heisst, er sollte doch dieses Objekt gar nicht anlegen können?! mit deiner Golf 5 erklärung versteh ich das wirklich so, als dass mit mit ein neuer Wagen vom Typ Golf 5 gebaut wird, dieser ist aber einzigartig und kann nicht mehrfach verkauft werden. Wenn ich das jetzt mit meinem Beispiel vergleiche wäre dass aber ja, wie wenn ein Golf 5 mehrfach an verschiedene Käufer verkauft würde.

Bin ich irgendwie schwer von begriff?!

Ich danke für die Antwort
Tobias

vielleicht laber ich jetzt müll aber ich erkläre mr das immer so:
mit

new jksghk();

legst du ein neues object an es ist einfach da und du kannst damit nichts machen weil du dir die referenz auf das objekt nicht gemerkt hast

also erstellst du eine variable in der die referenzreinkommt

Object referenz= new irgendeineklasse(); du hast dann das die referenz und das objekt

wenn du ein Array hast kannst du zb die referenz (nicht das object)

ObjectFeld[0]= referenz ; //man kann die referenz auch in eine andere variable packen

darin abspeichern und hast im feld eine referenz und in der variablen die auf das gleiche object zeigen

wenn du jetzt die variabel mit einer neuen referenz überschreibst von einem neuen objekt

referenz= new wasanderes(); //egal ob objekt der gleichen klasse oder einer anderen in Objekt kann ja alles rein ;)

hast du nicht das alte object überschrieben sondern nur die referenz darauf das object ist noch da und eine referenz zb in dem feld

du hast also die referenz eines neuen objektes in dem alten variablennamen


gruß thanni ( hoffe das war richtig ;) )
 
I

Immernoch-IchDa

Gast
Ok, jetzt hab ich das glaub ich begriffen mit den Referenzen und so. Ist manchmal gut wenn man das auch von einer anderen Seite sehen kann, als nur mit reinem Programmcode. Mein Problem war leider, dass der, der mir sonst immer n bisschen zur Seite steht jetzt 3 Monate in den Ferien ist. So dachte ich mir, dass die Häcker in diesem Forum bestimmt Rat wüssten. Scheinbar hatte ich recht damit. Danke euch und werd jetzt versuchen meine wissenslücken mit n paar objekten zu stopfen :lol:

Schönen Tag euch allen...
Tobias
 

Thanni

Bekanntes Mitglied
Immernoch-IchDa hat gesagt.:
Ok, jetzt hab ich das glaub ich begriffen mit den Referenzen und so. Ist manchmal gut wenn man das auch von einer anderen Seite sehen kann, als nur mit reinem Programmcode. Mein Problem war leider, dass der, der mir sonst immer n bisschen zur Seite steht jetzt 3 Monate in den Ferien ist. So dachte ich mir, dass die Häcker in diesem Forum bestimmt Rat wüssten. Scheinbar hatte ich recht damit. Danke euch und werd jetzt versuchen meine wissenslücken mit n paar objekten zu stopfen :lol:

Schönen Tag euch allen...
Tobias


aber bitte keine gefüllten Bierglasobjecte :)
die vergrößern Wissenslücken nur :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
T Kollision von 2 Objekten Java Basics - Anfänger-Themen 2
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
B Reflection ändern von Objekten in Objekten Java Basics - Anfänger-Themen 12
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
T Permanentes speichern von Objekten in einer ArrayList Java Basics - Anfänger-Themen 6
N Vererbung Queue bestehend aus Superclass- und Subclass-Objekten Java Basics - Anfänger-Themen 7
B Compiler-Fehler Array aus Objekten übergeben Java Basics - Anfänger-Themen 7
YAZZ Schlüsselworte Töten von Objekten Gameover Java Basics - Anfänger-Themen 2
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
districon Vergleichen von Objekten Java Basics - Anfänger-Themen 20
Zeppi OOP Array in Objekten Java Basics - Anfänger-Themen 4
LetsSebi Methode, die einen arry von objekten speichert in einer datei Java Basics - Anfänger-Themen 6
JavaNoobi Try and Catch und übergabe von Objekten Java Basics - Anfänger-Themen 2
A Klasse Menge mit Objekten der Klasse Person Java Basics - Anfänger-Themen 8
S Auf Array aus Objekten zugreifen? Java Basics - Anfänger-Themen 1
D Mit Objekten rechnen, Textfield, JavaFX, Noob Java Basics - Anfänger-Themen 8
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
A Auf Eigenschaften von Objekten anderer Klassen zugreifen Java Basics - Anfänger-Themen 5
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
N Klassen Rekursion mit Feldern von Objekten Java Basics - Anfänger-Themen 14
D Operatoren Mit Objekten rechnen Java Basics - Anfänger-Themen 7
E Datentypen Einfügen von Objekten in eine Map Java Basics - Anfänger-Themen 2
S Pane nach speziellen Child Objekten durchsuchen Java Basics - Anfänger-Themen 3
B ID von unterschiedlichen Objekten bekommen? Java Basics - Anfänger-Themen 2
T Daten von Objekten speichern Java Basics - Anfänger-Themen 7
PaperHat Programmieraufgabe - Objekte in Objekten Java Basics - Anfänger-Themen 2
L Rechnen mit Objekten Java Basics - Anfänger-Themen 3
S werte von objekten in schleife verändern Java Basics - Anfänger-Themen 14
D Zusammenarbeit von Objekten Java Basics - Anfänger-Themen 1
Y Begrenzte Anzahl an Objekten? Java Basics - Anfänger-Themen 12
Kornblume Nulltyp eines Arrays von Objekten? Java Basics - Anfänger-Themen 10
A Frage zur Aufgabe Uhrzeit einstellen mit Objekten Java Basics - Anfänger-Themen 18
M Generische Liste aus Comparable-Objekten Java Basics - Anfänger-Themen 6
G Klassen Call by Value auch bei Objekten? Java Basics - Anfänger-Themen 2
R Verständnisfrage zu Objekten u. Übergabeparameter Java Basics - Anfänger-Themen 8
arjoopy Kapselung Übergabe von Objekten aus ArrayList Java Basics - Anfänger-Themen 4
schoenosrockos Unterschied zwischen Objekten und vererbungen Java Basics - Anfänger-Themen 1
M Speichern von Objekten - Verfügbarkeit bei erneutem Aufruf Java Basics - Anfänger-Themen 3
R Methoden Methode ruft Methode auf, ruft Methode auf (mit Objekten) Java Basics - Anfänger-Themen 4
S Serialisierung: Laden von Objekten - Risiken? Java Basics - Anfänger-Themen 4
Shizmo PriorityQueue mit Objekten Java Basics - Anfänger-Themen 10
E Instanzieren von Objekten verkürzen Java Basics - Anfänger-Themen 1
F Interaktion von Objekten verschiedener Klassen... Java Basics - Anfänger-Themen 13
D Effiziente Verwaltung der Objekten und Unterobjekten Java Basics - Anfänger-Themen 18
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
L Subklasse von ArrayList nur mit bestimmten Objekten füllen Java Basics - Anfänger-Themen 1
E Erste Schritte Gute Erklärung zu Objekten / Klassen / Methoden / Sichtbarkeiten auf Deutsch Java Basics - Anfänger-Themen 3
S Problem mit augabe von Objekten Java Basics - Anfänger-Themen 3
T Junit Mockito: Instanz von inneren erzeugten Objekten Java Basics - Anfänger-Themen 4
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
W Was passiert mit Objekten die nicht in Objektvariablen initialisiert werden ? Java Basics - Anfänger-Themen 3
D Zugriff auf von einer anderen Klasse erstellten Objekten Java Basics - Anfänger-Themen 5
S Liste mit Objekten und Listen Java Basics - Anfänger-Themen 9
Y Gleiche Arrays aus einem Array mit Objekten Java Basics - Anfänger-Themen 5
K Min eines Arrays mit Objekten Java Basics - Anfänger-Themen 6
M Array mit Objekten lässt sich nicht auslesen Java Basics - Anfänger-Themen 10
T Statische Arrays von Objekten Java Basics - Anfänger-Themen 2
J Methoden Einfügen von Objekten nach Alphabet in ArrayList funktioniert nicht Java Basics - Anfänger-Themen 2
B Erste Schritte Anzeige von Graphics Objekten einzeln aktualisieren Java Basics - Anfänger-Themen 1
TheSorm Koordinaten von gedrehten Objekten Java Basics - Anfänger-Themen 4
D Bestimmte Werte von Objekten aus einer ArrayList in eine andere ArrayList kopieren Java Basics - Anfänger-Themen 14
B Aliasing bei null-Objekten Java Basics - Anfänger-Themen 3
O Java Erzeugung von neuen Objekten Java Basics - Anfänger-Themen 1
J Verständnisfragen zu dem Thema Objekten Java Basics - Anfänger-Themen 7
J Array von Objekten, wie schauts im Heap / Stack aus ? Java Basics - Anfänger-Themen 7
O Größe von Objekten Java Basics - Anfänger-Themen 5
Y Variable Menge von Objekten erzeugen und mit ihren Attributen rechnen Java Basics - Anfänger-Themen 7
kaoZ Best Practice Verständnisfrage Listener bei lokalen Objekten Java Basics - Anfänger-Themen 8
F Umgang mit referenzierten Objekten bei ArrayList Java Basics - Anfänger-Themen 1
M Löschen von Objekten während Iteration über Liste Java Basics - Anfänger-Themen 9
E Array von Objekten einer selbst definierten Klasse mit eindeutigem Namen Java Basics - Anfänger-Themen 2
C For schleife mit Array und Objekten Java Basics - Anfänger-Themen 17
kaoZ Input/Output Android : Deserialisieren von mehreren Objekten in einer Datei Java Basics - Anfänger-Themen 0
U Übergabe von Objekten Java Basics - Anfänger-Themen 0
C Werte aus zwei Objekten miteinander vergleichen Java Basics - Anfänger-Themen 3
Joew0815 Interface JSON Objekte aus Java Objekten erzeugen Java Basics - Anfänger-Themen 9
D Sortieren von int Werten von Objekten in einer LinkedList, kann nicht auf int Werte zugreifen Java Basics - Anfänger-Themen 3
E Erste Schritte Sortieren von Objekten in doppelt-verlinkter Liste Java Basics - Anfänger-Themen 9
R addition von 2 Array Objekten Java Basics - Anfänger-Themen 5
V Grundlegendes Zu Objekten/Klassen Java Basics - Anfänger-Themen 10
S Problem bei Kollision zwischen Array-objekten! Java Basics - Anfänger-Themen 2
C Probleme mit neuen Objekten Java Basics - Anfänger-Themen 3
S Erste Schritte Bluej Automatisches Einfügen von Objekten Java Basics - Anfänger-Themen 4
D ID von Objekten in Arraylist Java Basics - Anfänger-Themen 3
B Datentypen Inhalt von Objekten miteinander vergleichen Java Basics - Anfänger-Themen 2
R Erste Schritte Objekte mit anderen Objekten als Inhalt Java Basics - Anfänger-Themen 4
V Frage zum Löschen von Objekten Java Basics - Anfänger-Themen 2
C ArrayList mit Objekten Java Basics - Anfänger-Themen 4
P Mindestangaben beim anlegen von Objekten Java Basics - Anfänger-Themen 4
H Array von Klassen Objekten Java Basics - Anfänger-Themen 6
J Array mit Objekten sortieren Java Basics - Anfänger-Themen 11
J Bilder von Objekten Java Basics - Anfänger-Themen 3
G Scrollbares Fenster bei mehr als 5 Objekten Java Basics - Anfänger-Themen 4
B Methoden auf Objekten Java Basics - Anfänger-Themen 12
D OOP Objekt in mehreren Objekten Java Basics - Anfänger-Themen 3
J Datentypen List - gleiche Einträge bei neuen Objekten Java Basics - Anfänger-Themen 31
R Verschieben eines Arrays aus Objekten Java Basics - Anfänger-Themen 16
M Frage zum Casten von Objekten Java Basics - Anfänger-Themen 5
R Polymorphie Array mit Objekten Java Basics - Anfänger-Themen 9

Ähnliche Java Themen


Oben