如何实现hashCode和equals方法

2024-01-08

我应该如何实施hashCode() and equals()对于 Java 中的以下类?

class Emp 
{
  int empid ; // unique across all the departments 
  String name;
  String dept_name ;
  String code ; // unique for the department 
}

在 Eclipse 中右键单击 -> 源 -> 生成 hashCode() 和 equals() 给出:

/* (non-Javadoc)
 * @see java.lang.Object#hashCode()
 */
@Override
public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + (code == null ? 0 : code.hashCode());
    return result;
}
/* (non-Javadoc)
 * @see java.lang.Object#equals(java.lang.Object)
 */
@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (!(obj instanceof Emp))
        return false;
    Emp other = (Emp) obj;
    return code == null ? other.code == null : code.equals(other.code);
}

我选择了代码作为唯一字段

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

如何实现hashCode和equals方法 的相关文章

随机推荐

  • Java 的 ThreadLocal 底层是如何实现的?

    ThreadLocal是如何实现的 它是用 Java 实现的 使用一些从 ThreadID 到对象的并发映射 还是使用一些 JVM 钩子来更有效地完成它 这里的所有答案都是正确的 但有点令人失望 因为它们在某种程度上掩盖了如何聪明Threa
  • 使用 Internet Explorer 11 运行 64 位 Java

    我有 Internet Explorer 11 我有一些仅在 64 位 Java 上运行的帮助文件 默认情况下 IE 以 32 位启动 谷歌搜索后我发现通过启用增强保护 IE 将以 64 位启动 我能够实现 64 位的 IE 然而它仍然推出
  • 如何在php中上传/存储多个图像到mysql数据库中

    在这里 我正在制作一个用户可以上传多个图像的表单 下面的 HTML 代码
  • 如何将 Swift String 桥接到 Objective C NSString?

    我正在服用疯狂的药吗 直接从文档中得出 Swift 会自动在 String 类型和 NSString 类之间架起桥梁 这意味着在任何使用 NSString 对象的地方 都可以使用 Swift String 类型来代替 并获得这两种类型的优点
  • 使用 exec();在 php 脚本中从 shell 发送电子邮件

    我正在尝试制作一个使用以下内容的 php 脚本exec 函数来运行发送电子邮件的命令 我正在看这样的东西 但是我不确定我在 php 中声明的变量是否可以在 exec 函数中使用 然而该命令似乎也不正确 当用单引号 变量不展开 你可以尝试这样
  • 如何组合“conda create”参数“--file”、“--prefix”和“--copy”?

    我想基于特定路径中的环境文件创建一个 conda 环境 不使用符号链接 因此 我想运行以下 conda 命令 conda create file environment yml prefix python copy 文件environmen
  • 增加 PHP 脚本执行时间 [重复]

    这个问题在这里已经有答案了 我想使用 PHP 发送数百封电子邮件 为了增加执行时间 我使用了ini set 最大执行时间 10 但发送后30电子邮件浏览器向我显示一个空白页面 并且不发送所有电子邮件 我还将限制更改为 300 600 Try
  • http 跟踪实用程序

    我需要跟踪 嗅探来自其他机器的 http 流量 例如来自我的 Android 手机或 ios 设备 过去我使用MSSOAPT 这里描述http www devproconnections com article net framework2
  • 在 Perl 中,如何按值的频率排序?

    我正在尝试创建一个程序来计算数据文件列中出现的不同值 因此 如果一列的可能值为 A B C 则输出类似于 A 456 B 234 C 344 通过执行以下操作 我可以轻松获得 A B 和 C 的运行计数 my count for my f
  • 使用 Mono.Cecil 替换对类型/命名空间的引用

    背景 不必要的 令人困惑的 仅供好奇的人使用 我正在使用 Unity3D for Mobile 的免费版本 它不允许我使用System Net Sockets移动设备上的命名空间 问题是我正在使用编译的 dll引用的库 即 IKVM Sys
  • Haskell 脸书示例

    我被 haskell 类型困住了 LANGUAGE OverloadedStrings module Main main where import qualified Facebook as FB import Network HTTP C
  • 如何使用 powershell 在 wsl 上运行 bash 脚本?

    在 Windows 上的当前目录中 我有以下脚本文件 simple script sh bin bash echo hi from simple script 我希望通过 powershell 命令行在 wsl 上运行此脚本 使用wsl命令
  • 自动将 Sybase .ADT 文件转换为 SQL

    我正在处理我获得的一些数据 这些数据是通过使用嵌入式 Advantage 数据库服务器的程序读取的 该程序不是我编写的 并且不具备我需要的所有功能 我想将这些数据转换为不同的格式 以便我可以更自由地使用它 例如 MySQL 我知道Sybas
  • 防止将重复的项目添加到列表框中

    我有这段代码用于添加选定的项目ListBox到另一个 如何防止用户重复添加某个项目 我想要ListBox他们正在添加lstBoxToUserProjects仅包含不同的项目 没有重复的条目 protected void btnAddSele
  • AsyncTask 错误中的 Android JSON

    我正在尝试使用 asynctask 从 google 获取 JSON 数据 但我收到很多错误 我不知道为什么 我是 Android 开发的新手 我对它很感兴趣 然后又退出了 P 然后单击执行异步任务的按钮 new usdjson execu
  • 使用 Yii 自动存储日期时间

    我开始使用 Yii 学习 php 我有一个很大的问题 也许你可以帮助我 我正在使用表单来创建用户 我想将表单中引入的用户数据存储到数据库 MySQL 中 但我还必须将日期和时间存储在数据库的日期时间字段中 我看到一些扩展如 CJUIDATE
  • TYPO3:从 Extbase 中的文件引用中获取路径

    我使用 Fluid 和 Extbase TYPO3 6 1 创建了一个自定义内容元素 您可以在其中定义图片 在图片设置中 我可以设置一个img链接 它的目标是一个文件 在我的控制器中我可以访问这些数据 this gt configurati
  • webkit 中的 CSS3 动画暂停/取消暂停跳过和跳跃

    我已经实现了动画暂停 如下所述 如何使用 JavaScript 暂停和恢复 CSS3 动画 https stackoverflow com questions 5804444 how to pause and resume css3 ani
  • XAML:DataTemplate 中的自定义绑定用于 GridViewColumn CellTemplate

    我希望在整个 GridView 中重用资源中的以下 DataTemplate
  • 如何实现hashCode和equals方法

    我应该如何实施hashCode and equals 对于 Java 中的以下类 class Emp int empid unique across all the departments String name String dept n