gpt4 book ai didi

java - == 运算符如果比较 Double 类型与相同值则返回 false

转载 作者:行者123 更新时间:2023-12-01 08:03:16 24 4
gpt4 key购买 nike

当我比较两个具有相同值的双基元类型时,为什么 equal 方法为 false?然而整数不是

public class EqualMethod {
public static void main(String[] args) {
Double value1 = 6.2;
Double value2 = 6.2;
System.out.println(value1 == value2);

Integer number1 = 2;
Integer number2 = 2;
System.out.println(number1 == number2);
}
}

最佳答案

您正在比较引用而不是值。要么这样做:

value1.equals(value2);

或者做:

value1.doubleValue() == value2.doubleValue();

了解更多关于Autoboxing的信息在这里找出为什么有时(对于整数)有效以及为什么有时无效。请注意,所有整数都是 2 的幂的总和:6 = 2 + 4,而小数则不是:6.2 = 4 + 2 + 1/8 + ...

关于java - == 运算符如果比较 Double 类型与相同值则返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23504323/

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