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:

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


Messages recommandés

Posté(e) (modifié)

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

Posté(e) (modifié)

Bon ben c'est bon, le problème est résolu. Il suffisait d'utiliser la fct clone().

Modifié par PaTaToR
Posté(e)

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 !

Posté(e)

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

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...