hashcode相关内容

在Java中覆盖equals和hashCode时应该考虑哪些问题?

覆盖等于和 hashCode 时必须考虑哪些问题/陷阱? 解决方案 理论(语言律师和数学倾向): equals()( javadoc )必须定义等价关系(它必须是自反,对称和传递 )。此外,它必须一致(如果未修改对象,则必须保持返回相同的值)。此外, o.equals(null)必须始终返回false。 hashCode() ( javadoc )还必须一致(如果对象未按 eq ..
发布时间:2018-11-26 11:53:41 Java开发

为什么Java中没有Hashable接口

Java中的 Object 具有 hashCode 方法,但是,它仅用于 HashSet 或 HashMap 。它为什么这样设计? 具有 hashCode 方法的Hashable 接口看起来更优雅的解决方案。 解决方案 在我看来,主要论点是可以为任何Java对象计算出定义明确的默认 hashCode ,以及同样明确定义的等于。没有充分的理由拒绝所有对象的这个功能,当然有很多理由不来保留它 ..
发布时间:2018-08-08 18:18:31 Java开发

int的哈希码

原始类型的哈希码是什么,例如int? 例如,让我们说num是一个整数。 int hasCode = 0; if(num!= 0){ hasCode = hasCode + num.hashCode(); } 解决方案 int 的hashCode 最自然的选择是使用 int 本身。一个更好的问题是如何使用 c> long ,因为它不适合 int ..
发布时间:2018-08-06 19:51:34 Java开发

Java Array HashCode实现

这很奇怪。一位同事询问了java中myArray.hashCode()的实现。我以为我知道但后来我跑了几个测试。检查下面的代码。我注意到的奇怪的想法是,当我写第一个系统时,结果是不同的。请注意,它几乎就像报告内存地址并修改类移动了地址或其他内容。我以为我会分享。 int [] foo = new int [100000]; java.util.Random rand = new jav ..
发布时间:2018-08-06 19:34:01 Java开发

覆盖equals()&子类中的hashCode()...考虑超级字段

是否有关于如何覆盖等于()&的特定规则考虑超级字段,子类中的 hashCode()知道有很多参数:超级字段是私有/公共的,有/无getter ... 例如,Netbeans生成了equals()& hashCode()不会考虑超级字段......和 新的HomoSapiens(“M”,“80”,“1.80” “,”Cammeron“,”VeryHot“)。等于( 新HomoSapien ..
发布时间:2018-08-03 14:43:13 Java开发

Hive的内置HASH()函数使用了什么样的散列算法

理想情况下,我正在寻找SHA512 / SHA256哈希,类似于什么样的哈希算法sha()函数在linkedin中为Pig提供了datafu UDF。 解决方案 HASH 函数(自Hive 0.11开始)使用类似于 $ b 其代码如下所示: int hashCode = 0; // Hive HASH使用0作为种子,List#hashCode使用1.我不知道为什么。 for( ..
发布时间:2018-06-12 13:49:20 其他开发

如何实现等于休眠而不会冒失去对称性的风险?

在读完之后(再一次,应该在很久以前这样做了)实现equals和hashcode正确我得出这些结论, 如果预JDK 7 :更喜欢使用Apache commons equalsbuilder和hashcodebuilder。 (或番石榴)。 他们的javadoc包含了如何以良好方式使用它们的例子。 如果JDK 7 ++ :使用新的对象实用程序class 但是,如果为hibernate编写 ..
发布时间:2018-06-07 19:55:30 Java开发

为了等于和哈希码或不在实体类,这是问题

我一直试图推断处理在实体上实现哈希码和等于一般情况的良好做法的最佳方法(我的意思是实体在一般意义上,但在大多数情况下,它将是一个JPA实体) p> 在Hibernate手册的第24章 http://docs.jboss.org/hibernate/core/3.3/reference/en/html/best-practices.html 它说这... ... 确定所有 实体的自然键 ..
发布时间:2018-06-07 19:20:32 J2EE

Hibernate:什么时候需要实现equals()和hashCode(),如果有,如何实现?

基于各种不好的经历作为Java程序员,我的经验法则是只实现 equals()和 hashCode()关于不可变对象,其中对象的两个实例是可以互换的。 基本上我想避免像这个链接中的 HashMap 键问题,或者像下面这样: 获取具有特定身份的东西。 修改它。 将其添加到集合中。 (稍后)获取具有相同身份的另一件物品。 修改它。 没有注意到这个添加实际上没有发生,因为该集合认为该 ..
发布时间:2018-06-07 19:03:27 J2EE

在equals和hashcode方法中使用自动生成的hibenate实体对象的id

可爱的equals和hashcode,所有的理论都是 here 和也此处 我决定在一些hibernate实体/域对象中使用equals()和hashcode()中的自动生成的id。然而,许多网站表示,你永远不应该这样做,因为在第一次存在对象的过程中存在持久化对象到数据库的风险比较或使用散列码。 我的观点是,在大多数使用情况下,这比任何其他字段更改的可能性要小得多。 个别域对象的i ..
发布时间:2018-06-07 18:13:49 Java开发

等于和这些实体的hashCode(Spring MVC + Hibernate)

这是一个Gara(比赛)之间的多对多关系,它可以帮助我们实现这些实体的equals和hashCode方法。和Agenzia(代理): 一个比赛有许多代理商,一个代理商可以参加更多比赛。我尝试了一些实现,但是或者我得到了Stackoverflow错误,或 当我更新Gara(比赛)时,我无法更新Agenzie(代理商)的设置,因为我收到此错误: org.springframework.dao ..
发布时间:2018-06-07 18:03:30 Java开发

Apache Commons等于/ hashCode构建器

我很想知道,人们在这里想到使用 org.apache.commons.lang.builder EqualsBuilder / HashCodeBuilder 用于实现等于 / hashCode ?这会比写自己的做法更好吗?它与Hibernate一起玩的很好吗?您的意见是什么? 解决方案 Commons / lang构建器非常好,我一直在使用它们多年,没有明显的性能开销并没有休眠)。但 ..
发布时间:2018-06-07 17:41:26 Java开发

在使用JPA和Hibernate时如何实现equals和hashcode

在Hibernate中应该如何实现模型类的equals和hashcode?常见的缺陷是什么?大多数情况下,默认实现是否足够好?是否有任何意义使用业务密钥? 在我看来,很难在任何情况下都能正确工作,例如懒惰抓取,身份证生成,代理等等。 解决方案 Hibernate对于何时/如何覆盖 equals() / hashCode() in 文档 如果你的实体是 Set 的一部分,或者你将要 ..
发布时间:2018-06-07 17:37:49 Java开发

使用HashMap的hashCode()方法

如果我要定制 HashMap ,我必须重写 hashCode()方法吗? UPD:例如: import java.util.HashMap; import java.util.Objects; $ b $ ** * * @author dolgopolov.a * / 公共类SaltEntry { 私人长时间; 私人字符串盐; $ b $ ** * ..
发布时间:2018-06-04 13:55:07 Java开发

hascode和equals方法没有被覆盖 - put和get将如何工作?

我有一个班学生和商标。 我使用 Student Object 作为 HashMap 并标记为值。 如果我不覆盖 hashMap 和equals,它仍然可以正常工作。 i。如果不覆盖 equals()和 hashcode() $ b,是否有人可以解释它在内部如何工作? $ b ii。如果我只覆盖 hashcode() iii.what如果我只覆盖 equals () clas ..
发布时间:2018-06-04 13:51:26 Java开发

Java中的空对象的哈希码是什么?

根据此帖子的评论, hascode null对象可以 throw NPE 或值零。这是特定于实现的。但在同一个实现中,为什么 Objects.hashcode 和 hascode(instance)返回不同的值。例如: public class EqualsTesting { public static void main(String [] args){ String p1 ..
发布时间:2018-06-04 13:43:40 Java开发

使用HashMap来计算实例

我有以下代码来计算数组中不同字符串的实例: 字符串单词[] = {“帽子里的猫”}; HashMap wordCounts = new HashMap(50,10); for(String w:words){ Integer i = wordCounts.get(w); if(i == null)wordCou ..
发布时间:2018-06-04 13:39:05 Java开发

在JVM5与JVM6中运行相同的程序时,HashMap中项目的顺序不同

我有一个应用程序显示行中的一组对象,一个对象=一行。这些对象存储在一个HashMap中。行的顺序不会影响应用程序的功能(这就是为什么使用HashMap而不是可排序的集合)。 然而我注意到相同的应用程序在使用两个不同版本的Java虚拟机运行时运行不同。该应用程序使用JDK 5编译,可以使用Java 5或Java 6运行时运行,没有任何功能差异。 有问题的对象覆盖 java.lang。 O ..
发布时间:2018-06-04 13:37:55 Java开发

equals和hashcode的不同字段

我同意这篇文章中的声明重写时应考虑哪些问题等于hashCode in Java? 使用您用来计算equals()来计算hashCode()的相同字段集合。 但我有些怀疑: 这是绝对有必要有相同的领域? 如果是的话,如果我不使用相同的字段? 它会影响HashMap性能或HashMap精度吗? 解决方案 是否必须拥有相同的字段? 是的,如果你不想要任何意外。 ..
发布时间:2018-06-04 13:36:47 Java开发

Java:修改改变哈希码的ID

我使用HashSet,我需要修改一个对象的ID,但它会更改散列码并打破HashSet和hashCode()方法的规则。 什么是最佳解决方案:从Set中删除对象并添加具有新ID的对象,或者将哈希代码(例如在构造函数中生成)保存在每个对象中设置,还是有其他方法来解决这个问题? 感谢您的帮助。 更新: 我犯了错误:保持散列码在对象中可怕的是,因为在这种情况下,相同的对象可以有不同的哈 ..
发布时间:2018-06-04 13:35:48 Java开发