Bonjour,
J'ai un cas un petit peu complexe de Vector imbriqué dans un hashMap, donc voici pour commencer un peu de code:

La hashTable:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
final java.util.Hashtable<String,GroupeMaClasse> MaListeDeMaClasse = new java.util.Hashtable<String,GroupeMaClasse>();
La classe "vecteur" GroupeMaClasse:

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
 
private class GroupeMaClasse
{
private Vector<MaClasse> groupeClasse;
 
	public GroupeMaClasse()
	{
		groupeClasse = new Vector<MaClasse>();
	}
	public void add(MaClasse addedClasse)
	{
		if(addedClasse != null)
		{
			groupeMaClasse.add(addedClasse);
		}
	}
	public boolean contains(MaClasse submittedClasse)
	{
		return groupeMaClasse.contains(submittedClasse);
	}
}
Et la classe Classe:

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
 
private static class MaClasse{
//[..] Divers attributs...
 
//[..] Divers accesseurs
 
//[..] Constructeur
 
public boolean equals(MaClasse comparedClasse)
		{
			if(comparaison attribut par attribut)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
 
 
	}
A un moment dans mon code je veux savoir si à une clef "CLEF" (String), le vecteur de groupeMaClasse contient une instance de MaClasse équivalente à une référence, je fais donc:
MaListeDeMaClasse.get("CLEF").contains(MaReference);

Résultat: si je passe en paramètre l'instance exacte, la réponse est correcte (true), si je passe une instance équivalente (tous les champs de MaClasse égaux), la réponse est false, ce qui me fait penser que "contains()" de Vector utilise la fonction "equals()" d'Object et non de MaClasse, telle que définie dans le corps de la classe...
Comment "forcer" contains à utiliser "mon" equals?

Merci d'avance,
LDPDC