Bonjour,
J'ai un problème dans l'utilisation de la méthode "contains" dans une collection.
D'après la documentation
boolean contains(Object o)

Returns true if this set contains the specified element. More formally, returns true if and only if this set contains an element e such that (o==null ? e==null : o.equals(e)).
Dans mon exemple, j'ai créé une classe "Objet" avec la méthode equals
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public class Objet {
public int t1;
public int t2;
public Objet(int t1, int t2)
{
    this.t1=t1;
    this.t2=t2;
}
public boolean equals(Objet o)
{
    return (this.t1==o.t1)&&(this.t2==o.t2);
}
 
}
Dans mon test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
 
 
public class Test {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Set<Objet> listObjets= new HashSet<Objet>();
        Objet o1=new Objet(1,2);
        Objet o2=new Objet(2,1);
        Objet o3=new Objet(5,4);
        Objet o4=new Objet(1,2);
        listObjets.add(o1);
        listObjets.add(o2);
        listObjets.add(o3);
 
        if (listObjets.contains(o4))
        {
            System.out.println("Yes");
        }else
        {
            System.out.println("No");
        }
 
    }
 
}
On voit que l'objet o4 est identique par rapport à l'objet o1 d'après la méthode equals que j'ai défini.
Par contre, quand je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
listObjets.contains(o4)
Le système retourne faux!
Pourriez vous m'aider?
Merci