2015-06-30 2 views
-3

Я получаю не могу найти ошибку символа, когда пытаюсь скомпилировать свой код. Я проверил все стандартные ответы, был реализован компилятор, я включил материал, который я использую, я даю функции правильному типу. Так что мне не хватает?Collection.sort: 'не может найти символ', несмотря на то, что он дает правильный тип, include, comperator

Вот код:

import java.util.*; 
class Planner implements MinSpanTree { 

public List<Road> findCheapConversionPlan(List<Junction> junctions, List<Road> roads){ 
    Collection.sort(roads); 
    return roads; 
} 
} 

Класс дороги включает в себя следующее:

class Road implements Comparable<Road> { 
@Override 
public int compareTo(Road other){ 
    double diff=this.weight-other.getWeight(); 
    if (diff == 0) return 0; 
    if (diff > 0) return 1; 
    return -1; 
} 

public int compare(Road x, Road y){ 
    double diff=x.getWeight()-y.getWeight(); 
    if (diff == 0) return 0; 
    if (diff > 0) return 1; 
    return -1; 
} 
} 

Каждый раз, когда я пытаюсь скомпилировать класс Planner.java, я получаю ту же ошибку:

Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 
Planner.java:11: error: cannot find symbol 
     Collection.sort(roads); 
       ^
    symbol: method sort(List<Road>) 
    location: interface Collection 
1 error 

Моя версия javac - javac 1.7.0_79. Согласно the oracle docs Collection.sort должен быть реализован по крайней мере с версии 1.6.

+0

Ваша собственная ссылка указывает, что это 'Collections.sort' (множественное число), а не' Collection.sort' –

ответ

1

Вы пропустили s из вспомогательных методов Collections для Collection интерфейса:

Collections.sort 
+0

Это было действительно глупо со мной, спасибо! – cajusammon

Смежные вопросы