# Parameter in einer Methode verändern



## racy (18. Jan 2006)

Hallo
ich hab folgendes Problem will ich eine Variable an eine Methode übergeben und diese dann verändern, es soll also die Variable verändert werden, die ich an die Methode übergeben habe. ein kleines beispiel


```
int a;
int b;

public void hallo(int variable)
{
variable=b;
}

hallo(a);
```

nun ist a aber nich gleich b. was muss ich machen damit a gleich b ist. es soll aber schon in einer methode sein sonst könnt ich ja gleich a=b schreiben. ich hoffe ihr versteht mein problem und könnt es lösen. vielen dank!


----------



## SlaterB (18. Jan 2006)

nur Objekte können zur Veränderung übergeben werden (Referenz darauf wird kopiert)
bei primitiven Datentypen werden die Inhalte kopiert,

möglich Vorgehen:


```
int a;
int b;

public int hallo(int variable)
{
  return b; 
}

a = hallo(a); 


-----------------------


int a;
int b;

public void hallo(int[] variable)
{
  variable[0] = b; 
}

int[] container = new int[] {a};
hallo(container); 
a = container[0];
```


----------



## bygones (18. Jan 2006)

java kann ohne tricks wie oben beschrieben keine Swap methode...

siehe http://www.java-forum.org/de/viewtopic.php?t=5390


----------



## MPW (19. Jan 2006)

Nicht umsonst gibt es auch die Integer-klassen, damit sollte es auch gehen.


----------



## bygones (19. Jan 2006)

MPW hat gesagt.:
			
		

> Nicht umsonst gibt es auch die Integer-klassen, damit sollte es auch gehen.


äh - nein auch damit nicht - siehe meinem Link....


----------



## MPW (19. Jan 2006)

hast recht...finde ich aber komisch, das wiederspricht doch aber dem normalen Verhalten?


----------

