IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Méthode toString() pas appelée


Sujet :

Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Méthode toString() pas appelée
    Bonjour,

    Je rencontre quelques soucis dans le développement de mon programme.

    PS : Les noms de classe sont inventés .

    Voici la classe CasePion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class CasePion extends Observable implements controler.ICasePion
    {
        private enum State
        {
            /* ... */
            private static final String[] STRINGS = new String[] { "*", "-", foo,  foo };
            @Override public String toString() { return STRINGS[this.ordinal()]; }
        }
     
         /* ......... */
    }
    Et voici ma classe EchecCase imaginons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public class EchecCase 
    {
     
        /* Quelques attributes */
     
     
    @Override public String toString() {
     
        final String tabu = "\t";
        String string = new String(tabu);
     
        for(int i=0; i < DIM; i++) 
            for(int j=0;  j< DIM; j++)
            string+= casepion(i, j).toString() +...
     
        return string;
    }
    Donc c est la ligne [code] s+= casepion(i, j).toString() +.. qui m'a l'air de poser soucis.

    En remplaçant le casepion(i, j).toString() par "*", ça m'affiche bien un tableau contenant les étoiles, par contre on mettant casepion(i, j).toString(), la fonction toString devant retourné un/des éléments du tableau STRINGS n'est pas du tout appelée ..
    J'ai des résultats bizarre du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [java]	modele.CasePion@a62b39f	modele. modele.casePion@55fe910c	modele.CasePion@3be4d6ef	modele.CasePion@2cdb03a1	modele.CasePion@5ecb5608	modele.CasePion@777d57d6	et
         [java] 	etc .. pour tout les éléments du damier ( à la place des * , - .. )
    Apparemment la méthode toString() renvoie le nom de la classe suivie de son adresse..
    Du coup un indice là-dessus ?
    Quels pourraient être les problèmes à ce non appel ?

    Merci
    Dernière modification par Invité ; 09/11/2013 à 04h36.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/02/2014, 16h47
  2. Une méthode toString qui appelle tous les objets
    Par Invité dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 28/05/2013, 18h09
  3. Réponses: 0
    Dernier message: 19/01/2011, 09h03
  4. Réponses: 4
    Dernier message: 06/07/2010, 23h02
  5. Erreur sur l'appel de la méthode ToString
    Par Emcy dans le forum C#
    Réponses: 3
    Dernier message: 31/03/2008, 13h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo