j'ai lu d'autres questions ici et constaté que lorsque le compilateur jette un Cannot find symbol
pour Collections.sort(List<T> list)
le problème le plus souvent soit ...Vous ne trouvez pas Collections.sort malgré Comparable mis en œuvre
- Il n'a pas été adopté une
List<T>
List<T>
n'implémente pasComparable
- importation de
java.util.Collection
oublié
J'ai fait toutes ces choses donc je soupçonne que ma mise en œuvre est en quelque sorte fausse. Selon this entrée de débordement de pile et la manual ma mise en œuvre devrait être légale, donc je suis à court d'idées. Est-ce que les règles changent si le tri est passé List<Item>
?
mise en œuvre Comparable
public abstract class Item implements Comparable<Item>
9 {
...//Fields and constructor omitted
25 @Override
26 public int compareTo(Item i)
27 {
28 // String title = this.title; DEBUG FLAG: delete maybe?
29 return this.title.compareTo(i.title); //Returns a negative value if title < i.title, implements alphabetical order by title
30 }
Appel à Library.java (Suppose un TreeMap correctement construit de LinkedList)
public Collection<Item> itemsForKeyword(String keyword)
25 {
26 List<Item> list;
27 if(keywordDbase.get(keyword) == null) //There is no mapping at specified keyword
28 {
29 list = null;
30 }
31 else if(keywordDbase.get(keyword).isEmpty()) //There is a mapping but it is empty
32 {
33 list = null;
34 }
35 else //There is a list that has at least one item in it
36 {
37 list = keywordDbase.get(keyword); //stores a reference to the LinkedList in list
38 }
39
40 Collections.sort(list); //DEBUG FLAG: Calling sort may be unnecessary
41
42 return list; here
43 }
d'erreur
library/Library.java:40: error: cannot find symbol
Collections.sort(list);
^
Vous devez importer 'java.util.Collections'. – shmosel
Geez duh. Si vous postez une réponse je la marquerai comme acceptée @shmosel –