如何对Integer和Double类型判断相等?

  Java   1分钟   814浏览   0评论

Integer、Double不能直接进行比较,这包括:

  • 不能用==进行直接比较,因为它们是不同的数据类型;
  • 不能转为字符串进行比较,因为转为字符串后,浮点值带小数点,整数值不带,这样它们永远都不相等;
  • 不能使用compareTo方法进行比较,虽然它们都有compareTo方法,但该方法只能对相同类型进行比较。

整数、浮点类型的包装类,都继承于Number类型,而Number类型分别定义了将数字转换为byte、short、int、long、float、double的方法。所以,可以将Integer、Double先转为转换为相同的基本数据类型(如double),然后使用==进行比较

package top.hqxiaozou.integer;

/**
 * @author:邹祥发
 * @date:2023/2/13 15:11
 */
public class NumberTest {
    public static void main(String[] args) {
        Integer i = 100;
        Double d = 100.00;
        System.out.println(i.doubleValue() == d.doubleValue());
    }
}

如果你觉得文章对你有帮助,那就请作者喝杯咖啡吧☕
微信
支付宝
  0 条评论