aam
aam

Reputation: 103

passing enums by ref in java

How can i pass enum parameter by reference in java? Any solution?

Upvotes: 10

Views: 11581

Answers (2)

jjnguy
jjnguy

Reputation: 138874

In Java you cannot pass any parameters by reference.

The only workaround I can think of would be to create a wrapper class, and wrap an enum.

public class EnumReference {
    public YourEnumType ref;
}

And then you would use it like so:

public void someMethod(EnumReference reference) {
    reference.ref = YourEnumType.Something;
}

Now, reference will contain a different value for your enum; essentially mimicking pass-by-reference.

Upvotes: 8

duffymo
duffymo

Reputation: 308763

Java is pass by value - always.

You pass references, not objects. References are passed by value.

You can change the state of a mutable object that the reference points to in a function that it is passed into, but you cannot change the reference itself.

Upvotes: 15

Related Questions