Objekte mit verschiedenen Attributen erstellen

DerHelfer22

Mitglied
Ich stehe gerade vor dem Problem, dass ich mehrere Objekte mit zum Beispiel folgenden Eigenschaften erstellen muss:
groß,lang,rot
groß,lang,farblos
groß,kurz,rot
groß,kurz,farblos
klein,lang,rot
klein,lang,farblos
klein,kurz,rot
klein,kurz,farblos.
Ich möchte dabei das ganze Hardcoding vermeiden. Kann mir jemand einen Ansatz geben wie eine Methode dafür aussehen könnte? Freue mich über jeden Ratschlag
 
Das kann man z.B. über for each machen. Also jeweils die Attribute zusammen fassen (z.B. in ein Array - hängt halt alles fon den Typen ab):
Code:
for (Farbe farbe: farben) {
 for (Laenge laenge : laengen) {
       myList.add(new Element(farbe, laenge);

Das nur mal kurz mit zwei Typen. Farbe und Laenge sind halt die von dir gewählten Typen. Und laengen und farben sind z.B. Arrays mit den elementen. So du Strings genommen hättest wäre es sowas:
Code:
String[] laengen = { "kurz", "lang" }
und Laenge wäre String.

Sorry, alles auf kleinem Handy geschrieben, evtl. Vertippt und so, aber hoffentlich wird klar, was ich meine.
 
Um kneitzels Vorschlag noch zu vervollständigen, falls es Probleme bei dem Verständnis von Element gibt.
Java:
public class Element {
    private String size = "";
    private String length = "";
    private String color = "";

    public Element(String length, String color) {
        this("", length, color);
    }

    public Element(String size, String length, String color) {
        this.size = size;
        this.length = length;
        this.color = color;
    }

    @Override
    public String toString() {
        return String.format("%s, %s, %s", size, length, color);
    }
}
 

Zurück
Oben