我想用 Long
实现一个 java.util.Comparator
:
new Comparator<Long>() {
public int compare(Long l1, Long l2) {
// (*)
}
}
我有一个运算符 ?:
的解决方案:
return l1==l2 ? 0 : (l1>l2 ? 1 : -1);
但是不知道有没有其他的实现方式。
(我正在尝试 return (int)(l1-l2)
,但它不正确)。
最佳答案
这很简单 - Long
本身提供了一个实现:
public int compare(Long l1, Long l2) {
return l1.compareTo(l2);
}
另一方面,那时我完全不确定您为什么要使用自定义比较器...
编辑:如果您实际上比较long
值并且您使用的是Java 1.7,您可以使用Long.compare(long, long)
。否则,继续您当前的实现。
关于java - long转int,保持positive/negative/0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10106651/