= y && x != y"使循环无限?"> = y && x != y"使循环无限?-几年前我有这个面试问题,但我还没有找到答案。 x 和 y 应该是什么才能形成无限循环? while (x = y && x != y) { } 我们尝试了 Nan,infinity+/-,null f">
gpt4 book ai didi

java - 如何使用 "x <= y && x >= y && x != y"使循环无限?

转载 作者:IT老高 更新时间:2023-10-28 20:32:43 26 4
gpt4 key购买 nike

几年前我有这个面试问题,但我还没有找到答案。

x 和 y 应该是什么才能形成无限循环?

while (x <= y&& x >= y && x != y) {

}

我们尝试了 Nan,infinity+/-,null

float vs int.

最佳答案

您需要两个可比较的变量,具有相同的值,但代表不同的实例,例如:

Integer x = new Integer(0);
Integer y = new Integer(0);

x <= yy <= x都是真的,因为 Integer未装箱,但实例相等 x == y是假的。

请注意,它适用于 Float , LongDouble也是,任何值(不仅仅是 0)都有效。


您还可以使用 JVM 的复杂性 - 它们通常只缓存最多 127 的整数,所以这也可以:

Integer x = 128;
Integer y = 128;

(但它不会与 127)。

或者更简单地说,因为 Double s 一般根本不缓存:

Double x = 0d;
Double y = 0d;

关于java - 如何使用 "x <= y && x >= y && x != y"使循环无限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15970639/

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