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
Dans cette class j'ai défini la méthode "equals" pour utiliser après dans mes listes
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; } } }
Maintenant je défini la classe SectionList
C'est donc une liste qui contient des sections
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> { }
Maintenant je veux tester la méthode contains
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
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"); } } }
Où est le problème dans ma raisonnement?
Partager