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

Langage Java Discussion :

[Language] Redéfinition de la méthode equals


Sujet :

Langage Java

  1. #1
    nak
    nak est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    décembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2005
    Messages : 12
    Points : 14
    Points
    14
    Par défaut [Language] Redéfinition de la méthode equals
    Bonjour,
    je désire redéfinir ma méthode equals pour définir lorsque deux objets crées sont "equals"
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    @Override
    	public boolean equals(Object o){
    		MyObject myObject=(MyObject)o;
    		if(this.getO().equals(myObject.getO()))
    			return true;
    		else
    			return false;
    	}
    Puis j'ai une erreur à l'execution de type:
    Exception in thread "main" java.lang.ClassCastException
    au niveau de la ligne MyObject myObject=(MyObject)o;

    Comment y remédier ?
    Merci par avance

    [ Modéré par SEMPERE Benjamin ]
    Ajout des balises code
    Les Règles du Forum

  2. #2
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Mmmhh... il te faut commencer par tester si l'objet passé en paramètre peut être transformé en MyObject. C'est un travail pour l'opérateur "instanceof". Si il renvoie false, la méthode renvoie false. Sinon, tu continues...
    Glob
    What would you do if you were not afraid?

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par Glob
    Mmmhh... il te faut commencer par tester si l'objet passé en paramètre peut être transformé en MyObject. C'est un travail pour l'opérateur "instanceof". Si il renvoie false, la méthode renvoie false. Sinon, tu continues...
    Tout a fait sinon tu peux aussi faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
       public boolean equals(Object o){ 
          try{
             MyObject myObject=(MyObject)o; 
             if(this.getO().equals(myObject.getO())) 
                return true; 
             else 
                return false; 
          }catch(ClassCastException ce){
             return false;
          }
       }

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 18h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 17h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 23h43

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