循环者的诅咒

近日看到一个趣题:

提供一个对i,j的声明,将下面循环转变为一个无限循环:

while(i<=j&&i>=j&&i!=j){

}

初看可能觉得不可能,但是,nothing is impossbile!

实际上只要用到拆箱装箱就很简单,下面给出答案:

integer i=new integer(0);

integer j=new integer(0);

前两次比较(>= <=),会自动拆箱,变成基本数据类型,比较的是值的大小,都满足条件

后面的==比较的是包装类的地址值,new了两次,地址值不同

所以3个条件都满足啦~

猜你喜欢

转载自blog.csdn.net/qq_41907991/article/details/79737504
今日推荐