9 Stimmen

enums per ref in java übergeben

Wie kann ich Enum-Parameter per Referenz in Java übergeben? Gibt es eine Lösung?

15voto

duffymo Punkte 298898

Java ist "pass by value" - immer.

Sie übergeben Referenzen, keine Objekte. Referenzen werden als Wert übergeben.

Sie können den Zustand eines veränderbaren Objekts, auf das der Verweis zeigt, in einer Funktion ändern, an die er übergeben wird, aber Sie können den Verweis selbst nicht ändern.

7voto

jjnguy Punkte 132790

In Java können Sie keine Parameter per Referenz übergeben.

Die einzige Abhilfe, die ich mir vorstellen kann, wäre, eine Wrapper-Klasse zu erstellen und ein Enum zu verpacken.

public class EnumReference {
    public YourEnumType ref;
}

Und dann würden Sie es so verwenden:

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

Jetzt enthält reference einen anderen Wert für Ihre Aufzählung; im Wesentlichen wird pass-by-reference nachgeahmt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X