Aller au contenu
PaTaToR

[Résolu] Du Java sans références, c'est possible ?

Messages recommandés

Bonsoir,

 

J'ai un petit souci en java et je pense que c'est lié au fait que les objets sont passés par référence.

Je m'explique :

 

J'ai un tableau d'objets de la classe "Obj" et un objet "Temp" de la classe "Obj" que j'utilise pour stocker des données temporairement.

 

Ce que je veux faire, c'est construire peu à peu l'objet Temp, et une fois qu'il est construit, l'ajouter dans mon tableau.

 

Ca donne à peu pres ça :

 

private Vector Tab = new Vector(TAILLE_TAB);
private Obj Temp = new Obj();
private int i = 0;

ma_methode(){

//Je modifie des attributs de l'objet Temp
//Une fois que l'objet temp est "prêt", je le stocke dans mon tableau

Tab.setElementAt(Temp, i);
i++;
}

 

 

Mon souci, c'est que à chaque fois que je modifie un attribut de mon objet Temp, ça me modifie l'objet stocké dans le tableau. Or, j'aimerais que cet objet, une fois dans le tableau ne soit plus modifié.

 

Je pense que c'est du au fait que tous les objets sont passé par référence, et que du coup, à chaque "Tab.setElementAt(Temp, i);", ca me crée une nouvelle référence dans le tableau vers mon objet Temp.

 

Est ce qu'il y a un moyen de contourner ça, et de stocker dans mon tableau non pas une référence vers un objet, mais bel et bien cet objet.

 

Je sais pas, si j'ai été trés clair. Si je me suis mal exprimé ou que vous avez des questions sur mon probleme, n'hésitez pas.

Modifié par PaTaToR

Partager ce message


Lien à poster
Partager sur d’autres sites

Arf, trop tard, tu as trouvé tout seul la méthode clone() :-P

Attention : c'est une méthode héritée de Object, donc si tu es sur un objet "à toi" il faut faire attention à la surcharger pour y copier les attributs qui t'interessent !

Partager ce message


Lien à poster
Partager sur d’autres sites

Arf, trop tard, tu as trouvé tout seul la méthode clone() :P

Attention : c'est une méthode héritée de Object, donc si tu es sur un objet "à toi" il faut faire attention à la surcharger pour y copier les attributs qui t'interessent !

 

 

Oui oui, je l'ai fait ! J'avais trouvé un site sur internet qui expliquait le principe. :P

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×