À l'égard de la classe String:
La equals() la méthode compare la "valeur" à l'intérieur des instances de Chaîne (sur le tas) que si les deux(2) références de l'objet reportez-vous à la même instance de Chaîne ou pas. Si deux(2) références de l'objet de type String, reportez-vous à la même instance de Chaîne, puis une grande! Si les deux(2) références de l'objet se référer à deux(2) différentes instances de Chaîne .. il ne fait pas de différence. Sa "valeur" (ce qui est: le contenu du tableau de caractères) à l'intérieur de chaque instance de Chaîne qui est comparé.
D'autre part, le "==" opérateur compare la valeur de l' objet de deux références pour voir si elles se réfèrent à la même instance de Chaîne. Si la valeur des deux références de l'objet "voir" la même instance de Chaîne, le résultat de l'expression booléenne serait "vrai"..duh. Si, d'autre part, la valeur des deux références de l'objet "voir" les différentes instances de Chaîne (même si les deux instances de Chaîne ont les mêmes "valeurs", qui est, le contenu des tableaux de caractères de chaque instance de Chaîne sont les mêmes), le résultat de l'expression booléenne serait "faux".
Comme avec n'importe quelle explication, le laisser pénétrer.
J'espère que cela efface un peu les choses.