我正在尝试使用 Java 的 Comparator 对函数的 EList 进行排序,但在调用 sort() 后列表未排序。
我实现它的方式是这样的:
//Func.xtend <-- Start -->
public class NameComparator implements Comparator<Function_Name> {
override int compare (Function_Name function1, Function_Name function2)
{
return function1.func.compareToIgnoreCase(function2.func)
}
}
public class CheckNames {
def void checkDuplicateNames(Main_func para_func) {
var EList<Function_Name> functions = para_func.getContains()
var NameComparator pc = new NameComparator()
functions.sort(pc) //<-- sorting here
var Iterator<Function_Name> oIt = functions.iterator ()
while (oIt.hasNext)
{
var Function_Name func = oIt.next ()
System::out.println(func.func.toString)
}
}
}
// <-- End -->
难道我做错了什么?理论上,在调用functions.sort(pc)之后,变量“functions”中的内容应该已经排序了,对吧?还是我还需要做一些处理?