wie call by reference mit Wrapper-Klassen?

ernst

Top Contributor
Hallo allerseits,
Mit einfachen Datentypen kann man kein call by reference bei Methodenaufrufen realisieren.
Ist die mit Wrapper-Klassen möglich?

Im Beispiel unten hätte ich gerne, dass zahl nach dem Aufruf von f(zahl), den Wert 2 hat.
(Vor dem Aufruf hat zahl den Wert 1).
In C ist dies kein grosses Problem.
Kann man das in Java auch relativ einfach realisieren?

mfg
Ernst

Java:
public class MainWrapperCallByReference1 {

    public static void main(String[] args) {
        // TODO code application logic here
        Test t = new Test();
        Integer zahl;
        zahl = 1;
        t.f(zahl);
        // Wie kann man erreichen, dass zahl jetzt den Wert 2 hat ?
        System.out.println("Wert von zahl="+zahl);
    }
}

class Test{
    void f(Integer i){
        i=i+1;
    }
}
 
S

SlaterB

Gast
nicht mit dem unveränderlichen Integer,
aber z.B. mit einem int[1] oder einer anderen neuen normalen Klasse, in der man ein Klassenattribut verändern kann
 

Michael...

Top Contributor
In Java gibt es grundsätzlich kein Call by Reference, entweder Du gibst den neuen Wert unmittelbar mit der Methode zurück oder Du verpackst das ganze in ein Objekt:

Java:
public class MainWrapperCallByReference1 {
 
    public static void main(String[] args) {
        // TODO code application logic here
        Test t = new Test();
        Integer zahl;
        zahl = 1;
        t.f(zahl);
        // Wie kann man erreichen, dass zahl jetzt den Wert 2 hat ?
        System.out.println("Wert von zahl="+zahl);
        zahl = t.getValue();
        System.out.println("Wert von zahl="+zahl);
    }
}
 
class Test{
    private int value;
    void f(Integer i){
        value = i + 1;
    }

    public int getValue() {
        return value;
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java - Call by value <-> Call by reference Allgemeine Java-Themen 16
sliwalker Call by Reference - Was stimmt denn nun ? Allgemeine Java-Themen 14
H Aus der FAQ: Call by Value <-> Call by Reference Allgemeine Java-Themen 8
A Java Call-Hierarchie Allgemeine Java-Themen 2
V JNI Call Crash verhindern (abfangen) Allgemeine Java-Themen 2
K Als Rückgabewert ode call by referenz was ist sauberer? Allgemeine Java-Themen 12
J InvocationException im Thread (innerhalb von call() einer Callable Klasse) Allgemeine Java-Themen 2
hdi ClassLoader / Constructor Call intern Allgemeine Java-Themen 11
S Performance und Function Call Depth Allgemeine Java-Themen 6
MQue call by value Allgemeine Java-Themen 5
P call by value/referenz Allgemeine Java-Themen 4
N Sieht aus wie ein "Call by Referece/Call by Value" Allgemeine Java-Themen 7
S Active-X Call / Invoke?` Allgemeine Java-Themen 7
S Call by Value Allgemeine Java-Themen 9
Kirby.exe Cannot make a static reference to the non-static field rimWidth Allgemeine Java-Themen 12
R Erste Schritte Object reference funktioniert nicht. Wie mach ichs richtig? Allgemeine Java-Themen 3
M Lambda "invalid method reference no suitable method found" Allgemeine Java-Themen 2
W Threads Cannot make a static reference.. Allgemeine Java-Themen 13
S Cannot make a static reference to the non-static field MySecondClass.Points Allgemeine Java-Themen 3
Kr0e Circular reference - Serialisierung Allgemeine Java-Themen 6
Schandro Warum illegal forward reference bei Exemplarinitialisierer Allgemeine Java-Themen 9
F Pointer oder Reference? Allgemeine Java-Themen 8
G Reference-Counter Allgemeine Java-Themen 3
B Array von Vektoren by reference übergeben Allgemeine Java-Themen 5
conan2 "Cannot make a static reference to the non-static field Allgemeine Java-Themen 8
A Static reference to non-static field Allgemeine Java-Themen 10
O Pointer/reference on method Allgemeine Java-Themen 10
S AffineTransform Wrapper der im Uhrzeigersinn rotiert..? Allgemeine Java-Themen 2
T JNI Wrapper Klasse Allgemeine Java-Themen 18
D Datentypen Typbestimmung unbekannter Wrapper-Klassen Allgemeine Java-Themen 5
dayaftereh Java executable wrapper? Allgemeine Java-Themen 4
K Wrapper um ZipInputStream funktioniert nicht Allgemeine Java-Themen 2
H Einbinden einer 3rd party DLL via Java Wrapper (JNI) Allgemeine Java-Themen 11
J Wrapper Array in korresp. primitiven Array umwandeln? Allgemeine Java-Themen 2
A Eigene Wrapper-Klassen Allgemeine Java-Themen 2
G Object. Wrapper Allgemeine Java-Themen 12
R JNI-Dlls aus dynamischen Wrapper-Klassen laden Allgemeine Java-Themen 14
S Java Wrapper Allgemeine Java-Themen 6
M Java Wrapper für interaktive Perl-Skripte Allgemeine Java-Themen 3
G wrapper --> unwrapper Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben