我在一個簡單的類上實現了Comparable
接口,它包裝了一個單一的int
成員。是否有一個庫來比較原始類型值?
我可以實現這樣說:
@Override
public int compareTo (final MyType o)
{
return
Integer.valueOf(this.intVal).compareTo(
Integer.valueOf(o.intVal)
);
}
但是這(也許)創建2個完全不必要的Integer對象。
或者,我可以去從Integer類嘗試和真正的剪切和粘貼的方法:
@Override
public int compareTo (final MyType o)
{
int thisVal = this.intValue;
int anotherVal = o.intValue;
return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));
}
這是相當有效的,但重複的代碼是不必要的。
有沒有一個庫可以實現這個缺失的Integer
(以及Double和Float)方法?
public static int compare (int v1, int v2);
你可以將整數'compareTo()'複製到一個新的方法,該方法需要兩個參數而不是使用'this'? – BenCole