我有一個類型爲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)'更容易。 –