我正在一个简单的包装单个int成员变量的类上实现Comparable接口。
我可以这样实现:
@Override
public int compareTo ( final MyType o )
{
return
Integer.valueOf( this.intVal ).compareTo(
Integer.valueOf( o.intVal )
);
}
但这样(可能)会创建两个完全不必要的整数对象。
或者我可以采用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