Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

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

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×