Salut,
Je suis en train de travailler avec les listes, surtout j'ai une doute avec la méthode contains

Imaginons que j'ai une classe Section

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
public class Section {
	String sectionName;
 
	Section(String text){
		sectionName=text;
 
	}
	//Method to add command lines
 
	public boolean equals(Section sectionToCompare){
		if (this.sectionName.equals(sectionToCompare.sectionName)){
		return true;}else{
			return false;
		}
	}
 
}
Dans cette class j'ai défini la méthode "equals" pour utiliser après dans mes listes

Maintenant je défini la classe SectionList

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
import java.util.LinkedList;
 
 
public class SectionsList extends LinkedList<Section> {
 
}
C'est donc une liste qui contient des sections

Maintenant je veux tester la méthode contains

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
 
public class Test {
 
	/**
         * @param args
         */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
Section section1=new Section("[BLOC]");
Section section2=new Section("[BLOC]");
SectionsList mylist = new SectionsList();
mylist.add(section1);
 
if (mylist.contains(section2)){
	System.out.println("ok");
}else{
	System.out.print("Not OK");
 
 
}
	}
 
}
Le résultat donc "Not OK" ça veut dire que le test dit qu'il n'y a pas de section2 dans ma liste tandis que la section1 est déjà dans la liste et que section1=section2 selon ma méthode "equals" déjà défini

Où est le problème dans ma raisonnement?