Question bête concernant le langage Java... [Résolu]

Signaler
Messages postés
123
Date d'inscription
mardi 5 août 2003
Statut
Membre
Dernière intervention
26 août 2012
-
Messages postés
123
Date d'inscription
mardi 5 août 2003
Statut
Membre
Dernière intervention
26 août 2012
-
Bonjour,

Je suis actuellement en train d'implémenter une application à partir d'un document de spécifications qui n'est pas propre à un langage de programmation en particulier... Et je souhaiterais juste avoir une confirmation....

Est-il possible en Java de modifier la valeur d'une variable en la passant en paramètre d'une fonction qui effectue la modification ?

Ex:

void foo(<Type> param) {
param = ....;
}

void main() {
<Type> obj;

foo(obj);

// obj est modifié...
}

Je suis pratiquement sûr que non mais j'aimerais juste avoir confirmation qu'il n'existe pas de moyen pour modifier une variable comme cela... Si c'est effectivement le cas, il faudra que je diffère légèrement des specs...

Merci.

PS : Et pas la peine de me lister les solutions pour pallier à ce problème, je les connais...

3 réponses


Bonjour

Tu ne peux pas modifier l'adresse de ta variable passée en paramètre dans une méthode (si tu le fais, ça ne la changera que localement) mais tu peux modifier les valeurs des attributs de ta variable en utilisant des accesseurs en écriture. Le lien de Chabour montre le cas d'un paramètre de type primitif que tu enveloppes dans un objet, c'est peut-être pas tout à fait ce que tu voulais.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
Salut,

un lien sur le sujet..
Messages postés
123
Date d'inscription
mardi 5 août 2003
Statut
Membre
Dernière intervention
26 août 2012
3
C'est bien ce qu'il me semblait : on ne peut pas modifier l'adresse d'une variable en la passant en paramètre d'une fonction qui fait ce changement.

Bon ben merci pour vos réponses... Je ne vais pas pouvoir respecter les specs à la lettre ! Tant piche !!

++