使用嵌套在另一个类中的类中定义的比较器实现Collections.sort
我有一个特定的类,我们称之为ClassX。 ClassX是一个简单的小班;它有几个数据成员,一个构造函数和一个嵌套类(不太简单)。嵌套类是专门用于定义一个比较,而这种写法:使用嵌套在另一个类中的类中定义的比较器实现Collections.sort
public static Comparator<ClassX> classXComparator = new Comparator<ClassX>() {
public int compare(ClassX x1, ClassX x2)
{
//code that compares two data members and returns -1 for x2>x1, 1 for x1>x2,
//0 for x1 = x2
}
}
我也有另一个类,姑且称之为ClassA的。 ClassA是我的项目的主要类,并且有一个ClassX的ArrayList称为条目。我想在条目上调用Collections.sort();然而,我只是无法弄清楚如何。事情我已经试过这份名单包括:
Collections.sort(entries, ClassX.classXComparator.compare(ClassX, ClassX));
Collections.sort(entries, ClassX.classXComparator.compare(ClassX a, ClassX b));
Collections.sort(entries, classXComparator.compare());
Collections.sort(entries, ClassX.compare(ClassX, ClassX));
我难倒。有人可以帮我吗?
回答:
,了解哪些在classXComparator
声明发生的样子:
public static Comparator<ClassX> classXComparator = <something>
这声明classXComparator
为Comparator<ClassX>
类型的static
领域,这恰恰是sort(...)
第二个参数的类型。因此,调用sort
应该如下:
Collections.sort(entries, ClassX.classXComparator);
以上是 使用嵌套在另一个类中的类中定义的比较器实现Collections.sort 的全部内容, 来源链接: utcz.com/qa/259425.html