[linkedlist] Question sur la méthode contains
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:
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:
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:
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?