# int Array direkt einer Funktion übergeben



## ProgX (4. Aug 2011)

Hallo Leute!
Hab da mal ne eigentlich simple Frage, bin mir aber nicht sicher ob das funktioniert!

Meine Frage:
Ich habe eine einfache Funktion:


```
public static int getSum(int[] summand) {
	int temp = 0;
		
	for(int i : summand) {
		temp += i;
	}
		
	return temp;
}
```

Dieser Funktion übergebe ich ja wie hier ersichtlich ein int-Array.
Nun möchte ich dieser Funktion aber nicht ein angelegtes Array übergeben, wie zum Beispiel so:


```
public class Test {

	public static void main(String[] args) throws Exception {
		
		int[] teile = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
		
		System.out.println(getSum(teile));
		
	}
	
	public static int getSum(int[] summand) {
		int temp = 0;
		
		for(int i : summand) {
			temp += i;
		}
		
		return temp;
	}
}
```

sondern, möchte ich der Funktion direkt die Werte übergeben! Ist das irgendwie möglich, ohne, dass ich vorher extra ein Array anlege?


----------



## maki (4. Aug 2011)

Mit sog. VarArgs geht das: Varargs

Da wird das Array implizit erstellt, k.a. ob und wie dir das helfen sollte.


----------



## Svente (4. Aug 2011)

Mittels Vararg kannst du einer Methode  eine variablen Anzahl an Argumenten (vom gleichen Typ) übergeben.
Intern werden die dann als Array behandelt, weswegen es auch weiterhin möglich ist  mittels verbesserte for-Schleife darauf zuzugreifen oder auch gleich ein "fertiges" Array zu übergeben.


```
public class test {
	
    public static void main(String[] args) throws Exception {
       
    	
    	System.out.println(getSum(1,2,3,4,5,6));
    	
    	//weiterhin möglich
        int[] teile = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        System.out.println(getSum(teile));
        
        
    }
   
    public static int getSum(int... summand) {
        int temp = 0;
        
        for(int i : summand) {
            temp += i;
        }
        
        return temp;
    }
}
```


----------



## ProgX (5. Aug 2011)

Ihr seit die Besten! Genau das habe ich gesucht!


----------

