业务逻辑中需要对比两个对象是否是同一个对象,不知道为什么我去判断两个对象是否是同一个对象,就用==去判断两个商品的id,然后id相等的时候返回给我一个false,然后我尝试用equals方法去判断,然后就会返回一个true,我想可能是因为我用了包装类型Integer类型的原因,测试了一下找到原因了,是因为Integer自动装箱与拆箱的原因,小于等于127的Integer类型会自动的拆箱可以直接用==比较,如果大于127就不会再自动的进行拆箱所以就必须用equals方法进行对比,因为不会自动拆箱大于127的数,如果再用==进行比较的话就是比较的对象的地址所以会返回false.
第一种情况小于等于127的时候
第二种情况大于127的时候