我有一个类型为A的对象列表,而且我必须为它的类型为String的字段命令它。使用我的类的字符串字段进行比较的比较器?
public class A{
public String field1;
public Integer field2;
...
}
如果我不得不下令对INT领域早就这样做了:
Collections.sort(listOfA, new Comparator<A>() {
public int compare(A p1, A p2) {
return p1.field2 - p2.field2);
}
});
但不幸的是需要通过String类型的字段订购。
我该怎么做?
由于整数溢出,在'compareTo'方法中使用减法通常是危险的。改用Google的Guava中的'Ints.compare'。 –
@Roland或只是''''='和'<' –
是的,但是在'<=>'的情况下,您必须明确说明运算符和结果。我发现写'return Ints.compare(a,b)'更容易。 –