# Mehrere Werte aus einer Methode zurückgeben



## marco_de (15. Jun 2004)

Hallo, 
kann man aus einer Methode mehere Variablen / Arrays zurückgeben?

zB: 

void einlesen(){

....
return var1, stringx, array[][];
}

wenn nein, wie kann ich dann die Werte, die ich in diesen Methode erst erzeuge ( und die immer unterschiedlich sind ) zurückgeben?
globale Varaiblen sind auch nicht möglich, da ich erst in dieser Methode die größe herausbekomme...


----------



## bummerland (15. Jun 2004)

so direkt geht das nicht, du könntest höchstens ein array (alles gleiche typen) oder einen vector (objekte) etc. mit deinen Werten zurückliefern


----------



## Pulvertoastman (15. Jun 2004)

Wenn die erzeugten Variablen immer gleichzeitig auftreten, kannst du auch eine Container-Klasse basteln, die du dann zurückgeben kannst.


----------



## marco_de (15. Jun 2004)

ui, das ist heftig.
ich habe da 5 Integer, 4 arrays[][] String, Integer und float  und 3 arrays[] float und Integer...


----------



## marco_de (15. Jun 2004)

hm, wie würde das mit den Kontainern funktionierten?


----------



## Isaac (15. Jun 2004)

Mehrere Wege führen nach Rom

Sind die Rückgabewerte eines Objekts objektspezifisch spendiere dem Objekte entsprechende get Methoden die du dann nur aufrufen musst. 

Lassen sich die Rückgabewerte sinvoll kapseln kannst du auch ein eigenes Objekt mit diesen Variablen erstellen und dieses Zurückgeben (so eine Art Struct).

Gibts du ausschliesslich Objekte zurück kannst du diese auch einfach in einem Vector sammeln (empfiehlt sich allerdings nur bei gleichen Objekten da es sonst leicht zu Verwechslungen in der Bearbeitung kommt.


----------



## L-ectron-X (15. Jun 2004)

Eine Methode kann in Java immer nur einen Datentyp zurückgeben. Aber trotzdem kann man das erreichen, was Du möchtest. Dafür musst Du aber einen neuen Datentyp (Klasse) erstellen, der die zurückzugebenen Objekte verarbeitet. In Deiner Methode gibst Du dann ein Objekt dieser Klasse zurück, in dem die gewünschten Datentypen drin stecken. In Deinem Programm kannst Du dann die Variablen aus dem Objekt mit get()-Methoden die in dem Objekt definiert sein müsssen, aus dem Objekt holen.


----------



## P3AC3MAK3R (15. Jun 2004)

marco_de hat gesagt.:
			
		

> ui, das ist heftig.
> ich habe da 5 Integer, 4 arrays[][] String, Integer und float  und 3 arrays[] float und Integer...


In diesem Fall würde ich dringend noch einmal Deinen Entwurf überarbeiten...


----------

