Objekt Instanziierung von Eingabe abhängig machen

  • Themenstarter Themenstarter Gelöschtes Mitglied 54019
  • Beginndatum Beginndatum
G

Gelöschtes Mitglied 54019

Gast
Hallo Leute,

Wenn ich eine Objektinstanziierung von einer Eingabe abhängig machen will, dann kann ich das bereits bei einer. Dies löse ich einfach mit if.
Aber wie kann ich es lösen, wenn ich mehrere Objekte instanziieren möchte, dann geht mein Spaghetti-Konstrukt ja nichtmehr.
Denn meines sieht quasi so aus:
Java:
...

if (eingabe.equals("Ja")) {
     Objekt eins = new Objekt();
}
...

bei mehreren kann ich aber nicht immer den Objektnamen eins nehmen. Denn das nächste Objekt soll ja dann zwei heißen usw...
Gibt es hier ein Konstrukt, welches mir helfen könnte?

Vielen Dank und Gruß!
JavaXava
 
okay danke, aber muss ich die Länge einer Liste nicht vorher definieren?
Da hätte ich ja dann wieder ein Problem, wenn ich eine Array der Länge 99 deklariere und der Anwender über 100 Objekte instanziieren möchte.
Für so eine Sache muss es doch ein anderes konzept für geben in Java oder?
 
Arrays haben eine feste Länge, das stimmt. Es gibt sogenannte "Arraylisten" die benutzen intern ein Array, aber von "außen" kannst du da erstmal beliebig viele Elemente reinpacken. (intern wird das Array bei Bedarf vergrößert)
 
Schonmal, vielen Dank! Habe es mir angeschaut.
Kann diesen Link hier sehr empfehlen, falls es jemand interessiert:
https://wiki.freitagsrunde.org/Javakurs/Übungsaufgaben/ArrayList

Allerdings ist das glaub ich nicht das richtige für mich. Hier muss man vorher definieren, wie die Objekte in der Liste heißen sollen. Da komme ich bei 200 Stück schon ganz schön ins schwitzen, wenn ich diese vorschreibe.
 
du kannst ja den Namen in dein Objekt reinspeichern.
Naja, vielleicht suchst du auch etwas wie HashMap, dort kannst du beliebige Strings Objekten "zuweisen".
Allerdings brauchst man das meistens nicht.
Oft möchte man den verschiedenen Objekten gar keinen eigenen Namen geben sondern es reicht sie in einer Liste zu halten ...
 

Neue Themen


Zurück
Oben