加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 有比较原始类型值的库吗?

发布时间:2020-12-14 19:17:53 所属栏目:Java 来源:网络整理
导读:我在一个包含单个int成员的普通类上实现Comparable接口. 我可以这样实现它: @Override public int compareTo ( final MyType o ) { return Integer.valueOf( this.intVal ).compareTo( Integer.valueOf( o.intVal ) ); } 但是这(可能)会创建2个完全不必要的

我在一个包含单个int成员的普通类上实现Comparable接口.

我可以这样实现它:

    @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

这非常有效,但不需要复制代码.

是否有一个库可以实现这个缺少的Integer(和Double和Float)方法?

   public static int compare ( int v1,int v2 );
最佳答案
>对于int,编写自己的比较方法(最多需要三行
码).
>对于双倍,使用Double.compare(不要混淆
相比于).
>对于浮动,使用Float.compare.

最后两个采用原始类型,从而避免装箱和拆箱.我可以看到Integer的一个参数提供了一个类似的比较方法,但事实并非如此.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读