Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe mehrere Produkte mit den Attributen: Artikelnummer, Bezeichnung usw.
Diese sind in einer Arrayliste names Produktliste. Ich möchte, dass das Programm mir meine Liste ausspuckt (geschafft) und ich über die Artikelnummer an die Instanzreferenz des jeweiligen Produkts rankomme, damit ich auf z.b, das Produkt p1 zugreifen kann, um es dann in meine andere Liste Bestellungen hinzuzufügen. Ich möchte quasi die Artikelnummer eingeben, damit das Produkt in die Bestellliste reinkommt.
Ist das möglich?
irgendwo müssen die Referenzen auf die Instanzen ja gespeichert sein (sonst räumt der GC sie auf), dann musst du eine Abfrage mit der vorhandenen Artikelnummer stellen, falls dies möglich ist.
Fernseher f1 = new Fernseher(12345,150) .... 12345 ist die Artikelnummer, 150 der Preis
Handy h1 = new Handy(54321, 120)
Diese erben von der Oberklasse Produkte. Ich hab bereits eine Arraylist erstellt und die Produkte befinden sich auch darin. Ich kann mir die Liste anzeigen lassen und ich hab eine Methode zum Erstellen weiterer Produkte.
So nun möchte ich z.b das Handy, welches sich bereits in der Produktliste befindet zusätzlich noch in die Bestellungsliste aufnehmen. Wie kann ich durch die Artikelnummer 12345 die Instanzreferenz h1 ansprechen? Damit mir das Programm h1 ausspuckt?
Ja ok, aber wie kann denn mit dem Objekt arbeiten, wenn ich z.b die Objektreferenz nicht kenne , sondern nur die Artikelnummer.
Kann mir jemand den Befehl nennen?
Ist Google bei dir kaputt? Und bist du dir sicher, dass du in einem Studium richtig am Platz bist, wenn du dir noch nicht mal einfachste Informationen selbst aneignen kannst bzw. willst?
Produktliste ist deine ArrayList
Mit for() bekommst du der Reihe nach jedes Produkt in die Referenz P
Du prüfst ob deine Artikelnummer gleich der von p ist
wen ja machst du mit p (die Referenz auf dein Produkt) irgendwas
Diese sind in einer Arrayliste names Produktliste. Ich möchte, dass das Programm mir meine Liste ausspuckt (geschafft) und ich über die Artikelnummer an die Instanzreferenz des jeweiligen Produkts rankomme, damit ich auf z.b, das Produkt p1 zugreifen kann, um es dann in meine andere Liste Bestellungen hinzuzufügen. Ich möchte quasi die Artikelnummer eingeben, damit das Produkt in die Bestellliste reinkommt.
List ... oder speziell ArrayList ... IST eine Collection ... also habt ihr doch schon collections behandelt ...
das ihr vermutlich nicht alles dran hatte wie Map , Set , List ... usw ... das mag ich noch glauben ... aber wenn du shcon selbst von einer ArrayList redest und dann behauptest du wüsstest nicht was eine Collection ist .. sorry ... aber mit dem spruch hast du dir gerade selbst ins knie geschossen ...
grundsätzlich hast du bei ner List zwei möglichkeiten :
1) Iterator und dann vergleichen
2) "pseudo-index" im objekt kapseln und diesen zum vergleich ranziehen ...
KSG9 hat es schon gezeigt : du nimmst ne foreach ... und holst dir vom aktuellen objekt die artikel nummer ... diese vergleichst du mit der übergebenen ... und wenn sie passt returnst du einfach die referenz ...
da brauch ich dir kein beispiel geben ... das ist ganz normaler umgang mit Collections ...