Serait une Java HashSet<String>'s méthode contains() test d'égalité des chaînes de caractères ou de l'identité de l'objet?

Disons que j'ai ce code en Java:

HashSet<String> wordSet = new HashSet<String>();
String a = "hello";
String b = "hello";
wordSet.add(a);

Serait wordSet.contains(b); retour true ou false? Ce que je comprends, a et b se référer à des objets différents, même si leurs valeurs sont les mêmes. Donc contains() doit retourner false. Cependant, lorsque j'exécute ce code, il retourne true. Il va toujours revenir true n'importe où de la Chaîne d'objet b vient aussi longtemps que b contient la valeur "hello"? Suis-je assuré ce toujours? Si non, quand je ne suis pas garanti ce? Et si je voulais faire quelque chose de similaire avec des objets autres que des Chaînes de caractères?

InformationsquelleAutor OkonX | 2012-01-23