# Eine Methode mehrere Werte zurückgeben lassen



## Herr Kaiser (25. Mrz 2011)

Hallo Forum,

wie kann ich es am besten bewerkstelligen, dass eine Methode mehrere Werte zurückgibt?
Ich nehme an, dass man es bei mehreren Werten eines Datentyps über ein Array lösen kann.
Aber was macht man, wenn bspw. ein Boolean und ein String zurückgeben werden soll?
Geht das überhaupt? ...


----------



## Tomate_Salat (25. Mrz 2011)

Schreib dir eine Klasse und lass dir ein Objekt davon zurückgeben.

*edit*
Beispiel:

```
public class Demo
{
	public MyObject getDefault()
	{
		return new MyObject(42, "foo bar");
	}
}
```


```
public class MyObject
{
	private int zahl;
	private String wert;
	
	public MyObject(int zahl, String wert) 
	{
		this.zahl=zahl;
		this.wert=wert;
	}
	
	public int getZahl() {
		return zahl;
	}

	public String getWert() {
		return wert;
	}	
}
```


----------



## nrg (25. Mrz 2011)

sowas macht man allgemein nicht mit einem array, auch wenn die datentypen gleich wären. entweder die methode überdenken oder eine klasse erstellen, die alle werte als attribute hat


----------



## Herr Kaiser (25. Mrz 2011)

Quasi zeitgleich 2x die gleiche Empfehlung, dann scheint da was dran zu sein  ;-)
Klingt aufwändiger als erhofft, aber ich werde es so machen ...

Danke euch


----------



## diggaa1984 (25. Mrz 2011)

nrg hat gesagt.:


> sowas macht man allgemein nicht mit einem array, auch wenn die datentypen gleich wären. entweder die methode überdenken oder eine klasse erstellen, die alle werte als attribute hat



aber ne liste wird ja erlaubt sein, bei gleichen datentypen


----------



## Herr Kaiser (25. Mrz 2011)

Oh, danke für den ergänzten Code, Tomatensalat.
Super!


----------



## maki (25. Mrz 2011)

diggaa1984 hat gesagt.:


> aber ne liste wird ja erlaubt sein, bei gleichen datentypen


Was ist denn der Unterscheid zu einem Array? 
Dass sie dynamisch wachsen kann ist ja wohl irrelevant..


----------



## Marco13 (25. Mrz 2011)

Zumal es oft Sinn macht, zurückgegebne Listen als Collections.unmodifiableList zurückzugeben. Natürlich immer dann, wenn sie einen internen Zustand zurückgeben, aber auch sonst sollte sich kein Aufrufer darauf verlassen, dass eine List mutable ist - vielleicht hat die methode auch nur ein Arrays.asList(first,second) zurückgegeben....


----------

