gpt4 book ai didi

Java == 奇怪的行为

转载 作者:行者123 更新时间:2023-12-02 06:18:21 26 4
gpt4 key购买 nike

我想检查应用程序中的整数相等性,但遇到了奇怪的行为。在某些时候,我的应用程序工作正常,但在某些时候却失败了。所以我只是在这里写了一个测试代码

public class EqualityTest {

public static void main(String args[]) {
Integer a = 100;
Integer b = 100;
Integer c = 1000;
Integer d = 1000;
if (a == b) {
System.out.println("a & b are Equal");
}
else {
System.out.println("a & b are Not Equal");
}

if (c == d) {
System.out.println("c & d are Equal");
} else {
System.out.println("c & d are Not Equal");
}
}
}

输出

a & b are Equal
c & d are Not Equal

这里我的问题是为什么 c 和 d 不相等?

最佳答案

Integer 使用 -128 到 127 范围内的小值缓存,因此对于小值(例如 100),您会获得相同的实例.

对于超出此范围的值,将创建并返回一个新的 Integer 实例。

关于Java == 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21250973/

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