Bonjour,
J'ai un léger problème avec un HashSet. Voici un bout de code :
C'est un peu bizarre, non ? Certes c et c2 ne représentent pas le même objet mais la doc précise que c'est le critère c2.equals(c) qui est utilisé pour les méthodes contains, remove, etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Set<Couple> set = new HashSet<Couple>(); Couple c = new Couple(v1, v2); Couple c2 = new Couple(v1, v2); set.add(c); System.out.println(set.contains(c2)); // false ?? System.out.println(c2.equals(c)); // true
Bref, je suis un peu dans le flou là. A noter que si je remplace les Set par des List, ça fonctionne normalement.
Merci de votre aide.
Partager