Je suis en train de briser la règle de mettre en permettant le même objet d'être deux fois (juste pour le plaisir)java comment comparer la fonction fonctionne
Ceci est mon code:
class Person implements Comparable<Person> {
public String firstName;
public Person(String firstName) {
this.firstName = firstName;
}
@Override
public int compareTo(Person o) {
return 4;
}
}
class customTreeSet<T extends Person> extends TreeSet<T> {
private static final long serialVersionUID = 1L;
}
et je l'appelle comme ceci:
Set<Person> set = new customTreeSet<Person>();
set.add(new Person("Forza"));
set.add(new Person("Forza"));
for (Person person : set) {
System.out.println(person.firstName);
}
ce que je suis confronté est que lorsque je quitte le retour comme 4
, mon jeu contient deux objets, mais quand je change à zero
mon jeu contient un objet.
J'ai besoin de connaître la règle pour le type retournant spécialement qu'il est entier non booléen, s'il était booléen, je dirai que vrai signifie que deux objets sont identiques, faux signifie pas, mais ici c'est une valeur entière pas booléen.
merci pour votre aide
http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html#compareTo-T- tl; dr: il renvoie 0 pour les objets égaux. – Marvin
vous devez tricher avec les méthodes equals() et hashCode(). Vous devez également en sortir plus. – NickJ