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 :

equivalent de equals ?


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Par défaut equivalent de equals ?
    bonjour

    j'ai deux structures (2 graphes) que je veux comparer la methode equals ne marche pas et je veux savoir si une methode existe ou pas ?

    merci

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Ton graphe c'est une classe que tu as écrit toi même? Si oui tu doit redéfinir toi même la méthode equals

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu peux aussi faire implémenter ta classe de l'interface Comparable et définir la méthode public int compareTo(Object o)

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Par défaut
    il faut redéfinir le compareto(o)???

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Ben oui, il n'y a que toi pour savoir si un objet avec ces attributs est "inférieur" ou "supérieur" ou "égal"...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Par défaut
    normalement le equals doit faire l 'affaire avec graphe.equals(graphe_test) mais j 'ai l'impresseion que l'equals il prend un == par defaut car je veux comparer tt les noeuds et les liens

  7. #7
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    cette classe de graphe tu l'a écrit toi même?
    Si c'est toi qui l'a écrit et que tu n'a pas redéfinie la méthode equals par défault elle ne fait qu'un ==. Donc si tu veux qu'elle fasse autre chose il faut la reféfinir

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Par défaut
    ce qui me semble
    merci

  9. #9
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par scolopendra
    normalement le equals doit faire l 'affaire avec graphe.equals(graphe_test) mais j 'ai l'impresseion que l'equals il prend un == par defaut car je veux comparer tt les noeuds et les liens
    C'est tout à fait ca !

    C'est à toi de redéfinir equals() (et hashCode() par la même occasion)!

    Pourquoi et comment redéfinir la méthode equals() ?

    a++

  10. #10
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    N'oublie pas le marqueur résolu ^^

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Par défaut
    un probleme et si j'ai pas acces à la class mere Graphe car j'ai pas acces à la source mais juste aux liens ?? que faut il faire dans ce cas

  12. #12
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Citation Envoyé par scolopendra
    un probleme et si j'ai pas acces à la class mere Graphe car j'ai pas acces à la source mais juste aux liens ?? que faut il faire dans ce cas
    Dans ce cas, tu crées une classe qui "étend" la classe Graphe et tu lui ajoutes les méthodes que tu veux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public MonGraphe extends Graphe implements Comparable {
       // ...
    }
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  13. #13
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Dans ce cas tu hérites en créant une nouvelle classe Graphe. Mais même dans ce cas ça risque de ne pas être facile, car Graphe a peut être des attributs private dont tu auras besoin dans ton equals ...

    Sinon, tu fais une méthode statique quelquepart compareGraphs(Graphe graphe1, Graphe graphe2) mais même souci si tu as besoin d'accéder à des éléments privés de Graphe ...

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Par défaut
    voila j'ai les elements mais je sais pas comment créer cette methode

    alors j'ai créer un objet1 de type graphe

    Graphe objet1 =new Graphe();

    deuxieme objet2 de type graphe

    Grpahe objet2=new Graphe();

    les noeuds du graphe sont declarés comme suit en fait sont des couples:
    Couple[] couples = (Couple[])objet1.toArray(new Couple[objet1.size()]);
    et
    Couple[] couples = (Couple[])objet2.toArray(new Couple[objet2.size()]);

    et en gros faut je crois faire créer une methode

    public boolean equal (objet1,objet2){
    this.objet1=objet1;
    this.objet2=objet2;
    for(int i=0; i<objet1.size();i++)
    if(couples[i].equals(couples[i])){
    break;
    }
    return true;
    }
    c'est correcte ou pas ???

  15. #15
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Non, la solution est dans le genre de celle de CyberChouan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class MonGraphe extends Graphe
    {
       public boolean equals(Objet obj)
       {
          ... le code de comparaison à ta charge ...
       }
    }
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/11/2002, 10h12
  2. equivalent à explode?
    Par djridou dans le forum Langage
    Réponses: 3
    Dernier message: 28/08/2002, 12h01
  3. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 12h55
  4. Equivalent à ExeName pour une DLL
    Par Smortex dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2002, 22h07
  5. [Kylix] equivalent winsock avec kylix
    Par Victor dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 08h43

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