将超类合并到 Guava Objects.hashcode() 实现中的正确方法?

2023-12-25

可能是个愚蠢的问题,但我不想搞砸。假设我有两个 Java 类,Class1 and Class2, where Class2 extends Class1。我想覆盖Object.hashcode()两个类都使用番石榴。对于超类,我有

@Override
public int hashCode() {
    return Objects.hashcode(mField1, mField2);
}

对于 2 类,实现考虑 1 类成员的 hashcode() 的正确方法是什么?是这样吗?

@Override
public int hashcode() {
    return Objects.hashcode(super.hashcode(), mField3, mField4);
}  

这对我来说似乎是对的,但我正在寻找一些验证。 Joshua Bloch 在《Effective Java》中没有解决这种情况,Guava 文档也没有解决这种情况。


是的,这看起来是正确的。如果你有的话也会是一样的Objects.hashCode(f1, f2, f3, f4)。如果你看一下实现,就会发现它是这样的result += 31 * result + hashcodeOfCurrentObject。这意味着你的结果将是 31 + 超级哈希码,这不是exactly相同,但不会有问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将超类合并到 Guava Objects.hashcode() 实现中的正确方法? 的相关文章

  • HashMap不写入数据库

    我尝试在我的数据库中写入 但只写入发件人和消息 我不明白为什么会发生这种情况 我认为问题出在我使用 sendMessage 的地方 我认为问题是我没有什么可以做的读 写其他用户的主键 我在数据库中写入消息的活动 public class M
  • 如何在spring mvc中从控制器名称+操作名称获取映射的URL?

    是否有现有的解决方案可以从 Spring MVC3 中的 控制器名称 操作名称 获取映射的 URL 例如 asp net mvc 或 Rails 中的 UrlHelper 我觉得非常有用 thx 也许 你想要这样的东西 in your Co
  • 在文本文件中搜索单词并返回其频率

    如何在包含单词文本的文本文件中搜索特定单词并返回其频率或出现次数 使用扫描仪 String text Question how to search for a particular word in a text file containin
  • 在 HTTP 标头中发送 UTF-8 值会导致 Mojibake

    我想使用 servlet 发送阿拉伯语数据HTTPServletResponse给客户 我正在尝试这个 response setCharacterEncoding UTF 8 response setHeader Info arabicWo
  • 记录骆驼路线

    我的项目中有几个 Camel 上下文 如果可能的话 我想以逆向工程方式记录路线 因为我们希望保持与上下文相关的文档最新 最好的方法是什么 我们倾向于预先实际设计路线 并使用来自EIP book http www eaipatterns co
  • 在java中实现你自己的阻塞队列

    我知道这个问题之前已经被问过并回答过很多次了 但我只是无法根据互联网上找到的示例找出窍门 例如this http tutorials jenkov com java concurrency blocking queues html or t
  • 具有共享依赖项的多模块项目的 Gradle 配置

    使用 gradle 制作第一个项目 所以我研究了 spring gradle hibernate 项目如何组织 gradle 文件 并开始制作自己的项目 但是 找不到错误 为什么我的配置不起作用 子项目无法解决依赖关系 所以项目树 Root
  • Java:正则表达式排除空值

    在问题中here https stackoverflow com questions 51359056 java regexp for a separated group of digits 我得到了正则表达式来匹配 1 到 99 之间的一
  • 隐式超级构造函数 Person() 未定义。必须显式调用另一个构造函数?

    我正在开发一个项目 但收到错误 隐式超级构造函数 Person 未定义 必须显式调用另一个构造函数 我不太明白它 这是我的人物课程 public class Person public Person String name double D
  • 获取给定类文件的目录路径

    我遇到的代码尝试从类本身的 class 文件所在的同一目录中读取一些配置文件 File configFiles new File this getClass getResource getPath listFiles new Filenam
  • 如何记录来自 Akka (Java) 的所有传入消息

    在 Scala 中 您可以使用 LoggingReceive 包装接收函数 如何通过 Java API 实现相同的目标 def receive LoggingReceive case x do something Scala API 有Lo
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • 如何在 Quartz 调度程序中每 25 秒运行一次?

    我正在使用 Java 的 Quartz Scheduling API 你能帮我使用 cron 表达式每 25 秒运行一次吗 这只是一个延迟 它不必总是从第 0 秒开始 例如 序列如下 0 00 0 25 0 50 1 15 1 40 2 0
  • 解决错误javax.mail.AuthenticationFailedException

    我不熟悉java中发送邮件的这个功能 我在发送电子邮件重置密码时遇到错误 希望你能给我一个解决方案 下面是我的代码 public synchronized static boolean sendMailAdvance String emai
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • 嵌入式 Jetty - 以编程方式添加基于表单的身份验证

    有没有一种方法可以按如下方式以编程方式添加基于表单的身份验证 我用的是我自己的LdapLoginModule 最初我使用基本身份验证并且工作正常 但现在我想在登录页面上进行更多控制 例如显示徽标等 有没有好的样品 我正在使用嵌入式 jett
  • 启动Java项目时发生类冲突:ClassMetadataReadingVisitor将接口org.springframework.asm.ClassVisitor作为超类

    我正在使用最新的Spring框架版本 3 2 2 RELEASE 开发一个Java Web项目 但是现在项目启动时遇到了问题 详细错误是 java lang IncompleteClassChangeError 类 org springfr

随机推荐

  • 使用 sql 连接查询还是使用 pandas 合并查询,哪一种更高效?

    我想在一个表中使用多个表中的数据pandas dataframe 我有两种从服务器下载数据的想法 一种方法是使用SQL连接和检索数据 一种方法是单独下载数据帧并使用 pandas merge 合并它们 SQL Join 当我想将数据下载到p
  • 脚本运行时执行时间限制

    我的 Google Apps 脚本正在迭代用户的 Google 云端硬盘文件 并将文件复制 有时将其移动到其他文件夹 该脚本总是在几分钟后停止 并且日志中没有错误消息 编者注 时间限制随着时间的推移而变化 并且 消费者 免费 和 工作空间
  • MVC .NET 上的 ajax post 未正确传递数组

    我有一个简单的模式 它使用 select2 从服务器获取产品列表 用户可以选择多个产品 然后点击 确定 来优化搜索 我的以下设置从模式中获取数据 并使用强类型视图模型对控制器操作执行 ajax 调用 该视图模型与 JS 尝试通过 ajax
  • C++反向整数序列实现

    谁知道如何实现C std make index sequence反向版本 要得到 make index sequence reverse
  • 使用嵌套类创建类的 Javascript JSON

    我想在 JavaScript 中创建一个具有嵌套对象的 JSON 对象 以下是课程 public class CellChanged private CellLocation Location null private double Cel
  • 引起原因:org.hibernate.HibernateException:找到对集合的共享引用

    我正在运行这个异常 Caused by org hibernate HibernateException Found shared references to a collection path Object listObjects 这是我
  • 如果两项服务位于同一区域,AWS 是否会产生跨账户数据传输费用?

    我想将数据从一个账户中的 EC2 机器传输到另一个账户中的 S3 存储桶 在这里 两个服务都位于同一区域 由于两者都在不同的帐户上 因此数据传输是否通过互联网进行 是的 如果 ec2 和 s3 位于不同区域 无论同一帐户或不同帐户 数据传输
  • JavaScript 数组克隆

    我有这种方法来制作数组 var playerList exports player function socket name this id socket id this name name this x 20 this y 40 retu
  • 单击时功能区按钮不会触发 onAction 设置的事件

    我设计了一个 Outlook 2010 加载项 在其中尝试触发 或者更确切地说 捕获 单击按钮时触发的事件 如图所示在本文中 http social msdn microsoft com Forums en US vsto thread a
  • 回退到 TURN 的连接的预期百分比是多少?

    假设我搭建了WebRTC视频聊天网站 握手后有些连接 ICE Candidates 会直接p2p 有些会使用STUN服务器 有些会使用 最后手段 TURN服务器来建立连接 与直接连接和 STUN 连接 免费 相比 基于 TURN 服务器的连
  • 使用 NIB 文件会导致性能损失吗?

    我很想知道是否有人有经验比较 iPhone 应用程序与 NIB 中布局的视图与完全以编程方式布局的视图 即实例化 UITextView 将其添加到视图 实例化 UIButton 将其添加到视图 的加载时间性能 如果我想要加载一个简单的应用程
  • numpy 有没有办法测试矩阵是否为酉矩阵

    我想知道 numpy 中是否有任何函数可以确定矩阵是否为酉矩阵 这是我写的函数 但它不起作用 如果你们能发现我的函数中的错误和 或告诉我另一种方法来确定给定矩阵是否是单一的 我将不胜感激 def is unitary matrix np n
  • 如何在 C++17 中读取 UTF-16 文本文件

    我对 C 很陌生 我想在 Visual Studio 2019 中读取 C 17 中的 UTF 16 文本文件 我在互联网上尝试了几种方法 包括StackOverflow 但没有一个起作用 并且其中一些无法编译 我认为它们只支持较旧的编译器
  • 如何在 numpy 或 pytorch 中向量化自定义算法?

    假设我有两个矩阵 A size k x m B size m x n 使用自定义操作 我的输出将是k x n 此自定义操作不是行之间的点积A和列B Suppose该自定义操作定义为 对于第 I 行A和第 J 列B the i j输出的元素是
  • 指令解码器如何区分前缀和主操作码?

    我正在尝试了解 x86 指令编码格式 我读过的所有资料仍然让这个主题令人困惑 我开始有点了解它 但我无法理解的一件事是 CPU 指令解码器如何区分操作码前缀和操作码 我知道指令的整个格式基本上取决于操作码 当然还有操作码中定义的额外位字段
  • 在 Folium HeatMapWithTime 中显示日期、id 列和其他列

    我有一个这样的出租车频率数据集 ID Date Latitude Longitude Sample Mean 01 2019 10 09 40 431753 3 711294 0 1 03 2019 10 21 40 431753 3 71
  • 如何使用 HTML5 预加载页面?

    我记得读过有关使浏览器预加载页面的元标记的文章 又是什么标签 预取包含在W3C 规范名为 资源提示 http www w3 org TR resource hints dfn prefetch 它在 Firefox Chrome IE 11
  • pygame.display.init() 对于非 root 用户失败

    Tl dr 我需要使用pygame但由于权限问题 它无法以普通用户身份初始化屏幕帧缓冲驱动程序 根可以做pygame display init 但不是用户 用户位于 视频 组中 可以在其上书写 dev fb0 用户缺少什么权限pygame
  • ionic cordova 运行 ios - 导出失败,代码 65

    我已经完成了对这个错误的研究 尝试运行时出现以下错误ionic cordova run ios livereload cordova Non system Ruby in use This may cause packaging to fa
  • 将超类合并到 Guava Objects.hashcode() 实现中的正确方法?

    可能是个愚蠢的问题 但我不想搞砸 假设我有两个 Java 类 Class1 and Class2 where Class2 extends Class1 我想覆盖Object hashcode 两个类都使用番石榴 对于超类 我有 Overr