Java passage par reference
Fermé
ulquiorra
Laule - 4 mai 2017 à 17:18
- Messages postés
- 31
- Date d'inscription
- jeudi 6 septembre 2007
- Statut
- Membre
- Dernière intervention
- 29 juillet 2009
Laule - 4 mai 2017 à 17:18
A voir également:
- Java passage par référence
- Passage par référence java - Meilleures réponses
- Passage par valeur et par référence java - Meilleures réponses
- C'est quoi la différence entre passage par référence et passage ✓ - Forum - C++
- Référence en Java ? ✓ - Forum - Java
- Java passage par reference - Forum - Java
- Passage des variable entre classe en java ✓ - Forum - Java
- Le passage en JAVA ✓ - Forum - Java
4 réponses
Marco la baraque
9 oct. 2009 à 21:32
- Messages postés
- 996
- Date d'inscription
- vendredi 9 mai 2008
- Statut
- Contributeur
- Dernière intervention
- 5 novembre 2009
9 oct. 2009 à 21:32
Bonsoir,
En java, tu ne peux pas choisir de passer tes paramètres par référence ou par valeur.
La règle est la suivante :
- ton paramètre est un objet, alors il est passé par référence
- ton paramètre est un type primitif, alors il est passé par valeur (par copie)
Donc si tu passe un short en paramètre, alors tu ne pourras pas modifier sa valeur initiale (tu vas changer la valeur de la copie, mais ça ne sera pas répercuté sur la variable initiale).
Si tu passes un Short, on peut imaginer modifier sa valeur interne, mais en fait non puisque Short est immutable (et final pour rien améliorer) :(
Donc une solution est de créer un pojo comme le suivant :
Voilà. C'est un peu dommage car au final c'est un peu comme si on utilisait un Short, mais bon ça répond à ton problème.
Cordialement,
En java, tu ne peux pas choisir de passer tes paramètres par référence ou par valeur.
La règle est la suivante :
- ton paramètre est un objet, alors il est passé par référence
- ton paramètre est un type primitif, alors il est passé par valeur (par copie)
Donc si tu passe un short en paramètre, alors tu ne pourras pas modifier sa valeur initiale (tu vas changer la valeur de la copie, mais ça ne sera pas répercuté sur la variable initiale).
Si tu passes un Short, on peut imaginer modifier sa valeur interne, mais en fait non puisque Short est immutable (et final pour rien améliorer) :(
Donc une solution est de créer un pojo comme le suivant :
public class ShortContainer { private short value; public short getValue() { return this.value; } public void setValue(short value) { this.value = value; } }
Voilà. C'est un peu dommage car au final c'est un peu comme si on utilisait un Short, mais bon ça répond à ton problème.
Cordialement,
4 mai 2017 à 17:18