gpt4 book ai didi

Java缓存和平等

转载 作者:搜寻专家 更新时间:2023-11-01 01:36:09 25 4
gpt4 key购买 nike

我一直在阅读类的 Java 缓存,但我不确定这段代码为何有效。

Integer x = new Integer(2);
Integer y = new Integer(2);
assert x != y;
assert x.intValue() == y.intValue();
++x;
assert x != y;
assert x.intValue() != y.intValue();
++y;
assert x == y;
assert x.intValue() == y.intValue();

我理解最初x和y不相等是因为它们引用了不同的对象,但是为什么在++之后它们变得相等了?

最佳答案

递增后,它们使用 Integer.valueOf() 重新装箱,对于较小的绝对值(在 -128127 之间)默认),它使用缓存的实例。

关于Java缓存和平等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13169196/

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