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; }
No comments yet.