Salut,
J'ai ete a un entretien et l'une des questions ressemblait a ceci (je passe les tests du meme genre sur String avec equals et l'utilisation de new):
Je me dis sur le coup, vu qu'un String ne peut pas changer, t2 et t3 pointent forcement sur le meme objet, donc le 1er test afficherait "Equals". Ce n'est pourtant pas le cas, et j'ai un peu de mal à m'expliquer pourquoi, surtout quand on voit que le 2nd test renvoie "Equals" comme prevu. Pourquoi t2 et t3 pointent ils sur des objets differents ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public class TestString { public static void main(String[] args) { String t1 = "France"; String t2 = t1 + " Mexique"; String t3 = t1 + " Mexique"; String t4 = "France" + " Mexique"; String t5 = "France" + " Mexique"; if(t2 == t3) System.out.println("Equals"); else System.out.println("Not Equals"); //Resultat affiche if(t4 == t5) System.out.println("Equals"); //Resultat affiche else System.out.println("Not Equals"); } }
Merci d'avance de votre aide.
Nuriel
Partager