gpt4 book ai didi

java - 有没有比较原始类型值的库?

转载 作者:搜寻专家 更新时间:2023-10-31 08:20:55 25 4
gpt4 key购买 nike

我在包装单个 int 成员的普通类上实现 Comparable 接口(interface)。

我可以这样实现:

    @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 );

最佳答案

  • 对于int,写你自己的compare方法(它最多需要三行代码)。
  • 对于double,使用Double.compare (不要与compareTo).
  • 对于float,使用Float.compare .

最后两个采用原始类型,因此避免了装箱和拆箱。我可以看到 Integer 的参数提供了类似的 compare 方法,但就目前情况而言,它没有。

关于java - 有没有比较原始类型值的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7273091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com