我在一个包含单个int成员的普通类上实现Comparable接口.
我可以这样实现它:
@Override public int compareTo ( final MyType o ) { return Integer.valueOf( this.intVal ).compareTo( Integer.valueOf( o.intVal ) ); }
@H_404_10@但是这(可能)会创建2个完全不必要的Integer对象.
或者我可以从Integer类中尝试一下真正的剪切和粘贴方法:
@Override public int compareTo ( final MyType o ) { int thisVal = this.intValue; int anotherVal = o.intValue; return (thisVal
这非常有效,但不需要复制代码.
是否有一个库可以实现这个缺少的Integer(和Double和Float)方法?
public static int compare ( int v1,int v2 );
最佳答案
>对于int,编写自己的比较方法(最多需要三行
码).
>对于双倍,使用
相比于).
>对于浮动,使用
原文链接:https://www.f2er.com/java/438004.html码).
>对于双倍,使用
Double.compare
(不要混淆相比于).
>对于浮动,使用
Float.compare
.
最后两个采用原始类型,从而避免装箱和拆箱.我可以看到Integer的一个参数提供了一个类似的比较方法,但事实并非如此.