美文网首页
Java hashcode and equals

Java hashcode and equals

作者: JavaHub | 来源:发表于2018-11-22 16:42 被阅读0次

Java中equals()和hashCode()有一个契约:

  • 如果两个对象相等的话,它们的hash code必须相等;
String a = "meek";
String b = "meek";
System.out.println(a == b);
System.out.println("a :"+a.hashCode()+"  b:"+b.hashCode());
运行结果:
true
a :3347518  b:3347518
  • 但如果两个对象的hash code相等的话,这两个对象不一定相等
String a1 = new String("meek");
String b1 = new String("meek");
System.out.println("a1 :"+a.hashCode()+"  b1:"+b.hashCode());
System.out.println(a1 == b1);
运行结果:
a1 :3347518  b1:3347518
false

相关文章

网友评论

      本文标题:Java hashcode and equals

      本文链接:https://www.haomeiwen.com/subject/cdjmtftx.html