Come posso passare il parametro enum per riferimento in java? Qualche soluzione?passando enum per ref in java
risposta
In Java non è possibile passare alcun parametro per riferimento.
L'unica soluzione che posso pensare sarebbe quella di creare una classe wrapper e avvolgere un enum.
public class EnumReference {
public YourEnumType ref;
}
E poi si usa in questo modo:
public void someMethod(EnumReference reference) {
reference.ref = YourEnumType.Something;
}
Ora, riferimento conterrà un valore diverso per il tuo enum; essenzialmente mimando il pass-by-reference.
Ho effettivamente creato un tipo generico 'IndirectReference
@Jon, buona chiamata. Di solito non ho problemi con il pass-by-value. Non sembra mai di intralciarmi. – jjnguy
@ Jonathan: è anche possibile utilizzare "AtomicReference". – ColinD
Java è passato per valore - sempre.
Si passano i riferimenti, non gli oggetti. I riferimenti sono passati per valore.
È possibile modificare lo stato di un oggetto mutabile a cui fa riferimento il riferimento in una funzione in cui è passato, ma non è possibile modificare il riferimento stesso.
Non riesco a immaginare perché questo è stato downvoted - non è affatto corretto. Cinque anni. Silly. – duffymo
- 1. Passando per riferimento in Java?
- 2. Java valore enum personalizzato per enum
- 3. Java Enum find enum
- 4. Puntatori intelligenti e conteggio Ref in Java
- 5. enum gerarchica in Java
- 6. Java: metodo generico per Enum
- 7. Posso specificare ordinale per enum in Java?
- 8. annotazioni per Java enum Singleton
- 9. Deserializzazione di enum in Java
- 10. C-like enum in Java
- 11. Enum dimensione byte in Java
- 12. Deserializzare JSON in Java enum
- 13. Informazioni su Enum in Java
- 14. Generics utilizzando Enum in Java
- 15. Java Hyperlinking dichiarativo @Ref Annotation Usa
- 16. Errore Eclipse: NoClassDefFoundError: java/lang/ref/FinalReference
- 17. Enum in enum
- 18. Passando da .NET a Java
- 19. Overumill enum di Java?
- 20. Estensione di Java Enum
- 21. Le istanze enum sono "racchiuse" nel tipo enum in java?
- 22. Confronta valori enum Java
- 23. Java: enum toString()
- 24. Java enum senza istanze
- 25. Utilizzo di Enum per factory in Java, una best practice?
- 26. Mock un enum usando Mockito in Java
- 27. Come accedere a Java Enum in ColdFusion?
- 28. Come usare enum con valori in Java
- 29. metodi get() in tipo enum Java
- 30. Classi Enum multiple in un file Java
Qual è il caso d'uso? –
Il motivo normale per "passare un argomento per riferimento" è che si desidera modificarlo. È possibile farlo normalmente in Java perché le variabili sono in realtà riferimenti, tuttavia la modifica di enum è generalmente una pessima idea. – DJClayworth