标签:hashcode

  • 没有hashCode()的equals() - java

    时间:2020-9-1

    如果我只需要比较对象并且还不打算将对象放入任何基于哈希的容器中,我是否只能实现equals()而不是hashCode()? 似乎所有Java圣经都说这两个必须一起实现。 🙁 我的担忧:-如果我始终将hashCode()与equals()一起实现,将会有很多未真正使用的代码,并且没有单元测试的内容。 (如果不使用,我将不进行单元测试hashCode())-直到 […]

  • hashCode的实现以及用作HashMap中的键的自定义对象的均等值 - java

    时间:2020-8-25

    据我所知,如果要使用对象作为HashMap中的键,我们需要实现hashCode和equals方法(在该类上)才能正常工作。但是在下面的代码中,我使用object作为键,但是没有在Employee类上实现以上两个方法,并且工作正常。 您能否阐明为什么不使用hashCode和equals可以正常工作? public class Employee1 { Integ […]

  • 哈希表哈希避免使用负哈希码 - java

    时间:2020-8-20

    我想知道Hashtable为什么要避免使用负哈希码? int hash = key.hashCode(); int index = (hash & 0x7FFFFFFF) % tab.length; (hash & 0x7FFFFFFF)将带符号的位从0变为正数,但是为什么不能将带符号的32位整数视为无符号呢?甚至使用模块化技巧使之变得积极。 […]

  • 使用hashCode实现等于否吗? - java

    时间:2020-8-6

    我一直在尝试以下equals和hashCode的实现: @Override public boolean equals(Object obj) { return obj != null && hashCode() == obj.hashCode(); } @Override public int hashCode() { return new […]

  • 为什么Entry接口定义了equals和hashCode之类的方法? - java

    时间:2020-8-6

    我看到接口java.util.Map.Entry具有方法: boolean equals(Object o); int hashCode(); 当从Entry类继承相同的方法时,为什么上述方法是Object接口的一部分? 感谢致敬,拉胡尔 参考方案 有三点要考虑: 从技术角度来看,这不是必需的:每个类都从Object类继承这两个方法。从技术上讲,将这两种方法 […]

  • 测试hashCode的字符串 - java

    时间:2020-7-16

    我正在编写如下所示的代码: String s1=new String("hi"); System.out.println(s1.hashCode()); String s2=new String("hi"); System.out.println(s2.hashCode()); String s3=s1.intern( […]

  • 检查hashCode()是否相等是实现equals(Object obj)的有效方法? - java

    时间:2020-7-11

    我的hashCode方法确保相等的对象具有相等的哈希码。我的实现还保证了相反的说法是正确的,因为相等的哈希码表示对象相等。做类似的事情: @Override public boolean equals(Object obj) { if (this == obj) {return true;} if (obj == null) {return false;} […]