1、首先Integer是对象,比较两个对象是否相等不能使用==,应该使用equals
2、让我们查看jdk源码,在使用==比较Integer类型时,默认会缓存 -128至127(包括-128和127),如果超过这个范围,则会new,所以两个对象的地址不一样,==则会返回false。
3、如果非要使用==,-128至127(包括-128和127)范围内可以使用==比较,返回true,反之false。
1、首先Integer是对象,比较两个对象是否相等不能使用==,应该使用equals
2、让我们查看jdk源码,在使用==比较Integer类型时,默认会缓存 -128至127(包括-128和127),如果超过这个范围,则会new,所以两个对象的地址不一样,==则会返回false。
3、如果非要使用==,-128至127(包括-128和127)范围内可以使用==比较,返回true,反之false。