Comparaison entre Integer/String
Bonjour,
J'aimerais connaitre la raison de l'output de mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Integer i1 = 128;
Integer i2 = 128;
Integer i3 = 42;
Integer i4 = 42;
String s1 = "EPL";
String s2 = new String("EPL");
System.out.println(i1 == i2);
System.out.println(i3 == i4);
System.out.println(s1 == s2); |
Le résultat est false, true et false. Je comprends bien que deux objets ne peuvent pas être comparé par "==" car ils ne se situent pas à la même adresse et que pour les objets il faut utiliser equals plutôt mais quid d'un des trois résultats qui est true ?
Merci !!