Ensuite, en comparant ==, cela devient faux.
String remplace HashCode () et equals ().
Le ci-dessus est égal à
Vrai si l'objet a la même adresse
False si la classe de chaînes de comparaison n'est pas String
Faux si les longueurs de classe des chaînes de comparaison ne sont pas les mêmes 4, comparer en boucle, faux si faux
Vrai lorsque la boucle est terminée
HashCode () et equals () seuls
private static class Person { int age; String name;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String toString() {
return name + " - " +age;
}
/**
* @desc
*/
@Override
public boolean equals(Object obj){
if(obj == null){
return false;
}
if(this == obj){
return true;
}
if(this.getClass() != obj.getClass()){
return false;
}
Person person = (Person)obj;
return name.equals(person.name) && age==person.age;
}
@Override
public int hashCode() {
return this.name.hashCode();
}
}
Exemple de code https://github.com/YanHengGo/java/tree/master/04_hashcode