ist es korrekt, dass es in JAVA kein „call by reference“ gibt? Möchte die Eingabeparamter meiner Funktion überschreiben, dazu müsste ich sie ja als Variablenreferenz übergeben. Jetzt hab ich im Web gelesen, dass sowas anscheinend gar net möglich is in JAVA???
Angenommen ich möchte zwar Variablen vertauschen und hab dazu die Funktion „swap(i1,i2)“. Wie kann ich nun innerhalb der Funktion den Inhalt von i1 und i2 vertauschen und gleichzeitig global überschreiben???
Angenommen ich möchte zwar Variablen vertauschen und hab dazu
die Funktion „swap(i1,i2)“. Wie kann ich nun innerhalb der
Funktion den Inhalt von i1 und i2 vertauschen und gleichzeitig
global überschreiben???
mfg - jens
es gibt umwege das zu erreichen
CbRef gibt es in Java nur für Objekte, grunddatentypen werden CbVal übergeben
wenn du also die Grunddatentypen in Objekte umwandelst(stichwort wrapper-klassen)
ist es korrekt, dass es in JAVA kein „call by reference“ gibt?
Jedenfalls nicht in der Form wie von C++
Möchte die Eingabeparamter meiner Funktion überschreiben, dazu
müsste ich sie ja als Variablenreferenz übergeben. Jetzt hab
ich im Web gelesen, dass sowas anscheinend gar net möglich is
in JAVA???
Angenommen ich möchte zwar Variablen vertauschen und hab dazu
die Funktion „swap(i1,i2)“. Wie kann ich nun innerhalb der
Funktion den Inhalt von i1 und i2 vertauschen und gleichzeitig
global überschreiben???
Nichts entdeckt: http://www.programmersheaven.com/zone13/mh32.htm
Eine ‚quick’n’dirty‘ Lösung wäre, die Zielvariablen global zu definieren, also nicht als Teil einer Methode.
(Mega)Pseudocde:
public class jens;
{
int ziel_1, ziel_2;
swap(int i,int j);
{
//Implementierung
i=ziel_1;
j=ziel_2;
}
//weiteres Programm