05 hashCode的使用场景

vvEcho 2024-01-20 14:08:36
Categories: Tags:
  1. hashcode()方法是获取一个对象值的hash值,通常我们用来比较两个值是否相等来使用的;

  2. int i=1 和Integer = 1他们hash值相等吗?
    int i=1和Integer =1 调用hashcode方法,hash值相等;

面试官这里可能真正想问的是==和equals方法的区别,其中==比较的是值和对象的引用地址,equals方法比较的是对象值是否相等;而int和Integer比较的时候有个拆闭包的过程,其中在-128到127时,Integr值取的是常量池总缓存的值,超过这个范围是new出来的一个Integer对象,用==比较时就不再相等;