Equals

Equals - Java - Programmation

Marsh Posté le 24-10-2007 à 15:09:19    

Bonjour,
 
voici une partie de mon programme mais je ne comprend pas avec "equals" il ne veut pas me le compiler:
 

Code :
  1. public void afficher()
  2.         {
  3.          System.out.println(this.jour +"/"+this.mois+"/"+this.annee);           
  4.          if (this.jour.equals(jourDeLAn.jour) && this.mois.equals(jourDeLAn.mois))  // erreur présente ici
  5.             {           
  6.              System.out.println("Bonne année" );     
  7.             }
  8.        
  9.         }


 
Si quelqu'un pourrait m'aiguiller, çà serait sympa!
Merci

Reply

Marsh Posté le 24-10-2007 à 15:09:19   

Reply

Marsh Posté le 24-10-2007 à 15:38:20    

c'est quoi l'erreur de compilation ? ça t'aidera surement de la lire.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 24-10-2007 à 15:44:50    

Cela me dit "int cannot be dereferenced".
Et cela m'aide pas du tout :s
En fait mes jour, mois, années, sont déclaré en int, donc en gros equals n'est pas adapté?


Message édité par timz le 24-10-2007 à 15:45:46
Reply

Marsh Posté le 24-10-2007 à 15:53:47    

voilà


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 24-10-2007 à 15:59:35    

Ok j'ai remplacé par ==, et ce la marche!
Merci!

Reply

Marsh Posté le 24-10-2007 à 16:16:43    

et maintenant, plus compliquer : comprendre pourquoi.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 24-10-2007 à 16:20:15    

== pour les types primitifs, c'est l'égalité
== pour les objets, c'est l'identité
.equals pour les objects, c'est l'égalité

Reply

Marsh Posté le 24-10-2007 à 16:52:43    

Tiens, je n'aurais pas expliqué comme ça.  :)
J'aurais été plus basique : equals(), c'est une méthode, et une méthode, ça ne peut s'appeler que sur un objet. En Java, tout est objet, sauf... les 8 types primitifs, dont int, qui ne sont pas des objets. Donc impossible d'appeler une méthode dessus.
Mais c'est sûr que ma réponse n'est pas tout à fait complète... :jap:

Reply

Marsh Posté le 24-10-2007 à 17:16:32    

Merci c'est bien rentré dans ma petite tête :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed