Bonjour � tous,
Je m'interroge sur le principe des comparaisons par r�f�rence ( == ).
Je viens de faire le test suivant :
Je pense que je me trompe, mais pour moi la r�f�rence (sur lequel se faisait le contr�le) �tait li� au hashcode de l'objet.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 String t1 = new String("toto"); String t2 = new String("toto"); System.out.println(t1.hashCode()); System.out.println(t2.hashCode()); System.out.println(t1==t2);
Or pour les String, il s'av�re que dans mon exemple t1 et t2 , ont le m�me hashCode , mais ne sont pourtant pas �gaux par r�f�rence ( t1==t2 -> false).
Donc ma question est la suivante , comment faire pour savoir ce qu'il compare dans le cas des r�f�rences.
Il me semblait pourtant que dans le cas des String et aussi Integer, Float etc... , Java utilisait un pool d'objet pour optimiser sa m�moire, ce qui permettait dans le cas des Integer par exemple de faire des comparaisons de r�f�rences en �vitant l'appel � intValue().
Je ne sais pas vraiment si j'�tais clair, mais si quelqu'un peut m'�clairer , je r�pondrais � toutes les questions que vous vous posez.
D'avance merci.
Zekid.
Partager