近日看到一个趣题:
提供一个对i,j的声明,将下面循环转变为一个无限循环:
while(i<=j&&i>=j&&i!=j){
}
初看可能觉得不可能,但是,nothing is impossbile!
实际上只要用到拆箱装箱就很简单,下面给出答案:
integer i=new integer(0);
integer j=new integer(0);
前两次比较(>= <=),会自动拆箱,变成基本数据类型,比较的是值的大小,都满足条件
后面的==比较的是包装类的地址值,new了两次,地址值不同
所以3个条件都满足啦~