Return: Die add-Anweisung

Wer kennt nicht folgende Situation: Man benötigt eine Methode, die eine Liste oder ein Array zurück gibt. Innerhalb der Methode muss man jedes mal eine Instanz eines Array erzeugen, um dieses dann zurückzugeben. Einfacher wäre eine zusätzliche add-Anweisung, die verwendet werden könnte um Elemente zum Rückgabe-Array hinzuzufügen, wird in der Methode kein add angewandt, so gibt es einfach eine leere List oder Array zurück.

Folgende Anforderungen könnte man an das add stellen:

  • Wird als Rückgabe einer Klasse ein Array oder eine Collection (oder eine Unterklasse davon) definiert, dann gibt die Methode automatisch eine Instanz der Rückgabe zurück, ein anderer Wert, z.B. null, kann mittels return zurückgegeben werden.
  • mit add object; kann ein Element der Ergebnismenge hinzugefügt werden.

Ein kleines Beispiel:

// Neu
public List toString(int[] ints){
    for(int int: ints){
        add Integer.toString(int);
    }
}

// Alt
public List toString(int[] ints){
    List intsAsString = new ArrayList();
    for(int int: ints){
        intsAsString.add(Integer.toString(int));
    }
    return intsAsString;
}

Mögliche Aufrufe:

toString({}) -> Leere Liste vom Typ List
toString({1,2,3}) -> Liste vom Typ List mit den Elementen "1", "2", "3"

Wo wir schon dabei sind, warum kann man in Java eigentlich nicht mehrere Werte zurückgeben, reihenfolgeabhängig und durch Komma getrennt?

object1, object2 = function();

// z.B.
public Object, Object  function(){ 
      ... ; 
    return result1, result2; 
}

Tags: , , , , , ,

No comments yet.

Schreibe einen Kommentar