我有一个TreeSet<MyObject>
哪里MyObject
有一个方法getID()
。
getID()
方法返回 long
我想用它来对 MyObject
进行排序TreeSet 的自定义比较器中的 s
Comparator<MyObject> comparator = new Comparator<MyObject>() {
public int compare(MyObject a0, MyObject a1) {
return a0.getID()-a1.getID();
}
};
TreeSet<MyObject> set = new TreeSet<MyObject>(comparator);
但是方法compare
必须返回int
我正在比较 long
s。有什么办法可以解决这个问题吗?
最佳答案
差异的大小并不重要,重要的是存在差异。
long a0long = a0.getID();
long a1long = a1.getID();
if (a0long < a1long)
{
return -1;
}
return a0long == a1long ? 0 : 1;
关于java - 具有长值的 TreeSet 自定义比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24141688/