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

第一种情况小于等于127的时候

异常记录 数据对比异常

第二种情况大于127的时候

异常记录 数据对比异常

相关文章:

  • 2021-09-23
  • 2022-02-13
  • 2022-12-23
  • 2022-12-23
  • 2021-09-02
  • 2021-12-10
  • 2021-11-08
  • 2022-12-23
猜你喜欢
  • 2022-02-26
  • 2021-04-09
  • 2021-11-28
  • 2021-06-08
相关资源
相似解决方案