Klassenobjekte in einer ArrayList bearbeiten

nhavy

Mitglied
Hey,
ich habe schon des Öfteren hier im Forum Hilfe zu meinen Fragen gefunden, aber je tiefer man in die Materie reinkommt, desto spezieller werden die Fragen, weshalb ich jetzt mal direkt frage.

1.
Gibt es eine unkomplizierte Möglichkeit von einem eingegeben String auf ein vorher bereits definiertes Klassenobjekt zu schließen?
Denn meine jetzige Lösung für mein Problem erscheint mir nicht sehr elegant.

String fill=x.next();
switch(fill){
case "China":
kundenVerz.setGebuchteReise(China);
break;
case "Russland":
kundenVerz.setGebuchteReise(Russland);
break;
case "Frankreich":
kundenVerz.setGebuchteReise(Frankreich);
break;
default:
System.out.println("Reise nicht im Sortiment");

2.
Kann ich ein Klassenobjekt(Instanz) innerhalb einer ArrayList bearbeiten, so wie ich es oben mit dem Array kundenVerz[] gemacht habe?

mein Ansatz war:
kundenVerz.set(i."hierderobjektname" .setGebuchteReise(China))

Das Problem ist, dass die Instanz keinen Namen hat, da ich sie innerhalb einer Schleife mit der ArrayList erstellt habe.

Ich hoffe ich habe mich hier nicht zu kompiliziert ausgedrückt und jemand versteht mein Problem.
 
also ich habe die Klasse
public class Reise {
String ziel;
Datum reisedatum;

und die Klasse
public class Kunde {
String name,vorname;
Reise gebuchteReise;
Datum reisedatum;

China ist ein Objekt der Klasse Reise, welche ich am Programmanfang erstellt habe.
 
du solltest dir eine List<Reise> erstellen in die du deine am Anfang erzeugten Reisen einfügst. Dann kannst du dir eine Methode public Reise getReiseMitName(String name) erstellen in der du durch die Liste iterierst und die Reise zurück gibst bei der der Name übereinstimmt.

Gruß

Claus
 
Ja, passt doch:

Java:
List<Reise> meineReisen = new ArrayList<Reise>;
  meineReisen.add(<eine nach der anderen>);

und:

Java:
for(Reise reise:meineReisen) {
   if (reise.getZiel.equals(gesuchterName)
       return reise;
}
return null;  //Reise nicht gefunden

so in etwa
 

Neue Themen


Zurück
Oben