Simulating Pass by Reference in Java for Primitives
In C , pass by reference provides a direct reference to the original variable, allowing changes made within functions to be reflected in the calling scope. Java, on the other hand, exclusively employs pass by value for primitives, resulting in the creation of local copies.
To achieve a similar effect in Java, consider these approaches:
1. Pass by Reference Using Objects:
Encapsulate the primitive value within an object and pass a reference to it. The code can modify the object's member variable directly.
1 2 3 4 5 6 7 8 9 |
|
2. Return the Modified Value:
Instead of trying to modify the argument, the function can return the modified value, which can then be assigned to the original variable.
1 2 3 4 5 6 |
|
3. Class/Static Member Variable:
If the functions belong to the same class or instance, consider storing the value in a class or static member variable, accessible to both functions.
4. Single-Element Array Hack:
Although considered a hack, passing a single-element array allows for an indirect way to modify the value in the calling scope.
1 2 3 4 5 |
|
The above is the detailed content of How Can I Simulate Pass by Reference for Primitives in Java?. For more information, please follow other related articles on the PHP Chinese website!