呼呼哈哈自用--实体类重写equals和hashcode

2024-04-30 06:08

本文主要是介绍呼呼哈哈自用--实体类重写equals和hashcode,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开局奉上大神的文章链接
1.https://www.cnblogs.com/yuxiaole/p/9570850.html
2.https://www.cnblogs.com/myseries/p/10977868.html

package com.xxxx.domain.DO;/*** @author TXY*/
public class UserDO {private Long id;private String name;private Integer sex;public UserDO() {}public UserDO(Long id, String name, Integer sex) {this.id = id;this.name = name;this.sex = sex;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getSex() {return sex;}public void setSex(Integer sex) {this.sex = sex;}@Overridepublic boolean equals(Object anotherObj){//1.先判断是不是自己,提高运行效率//测试两个对象是否是同一个对象,是的话返回trueif(this == anotherObj){return true;}//测试检测的对象是否为空,是就返回falseif(anotherObj == null){return false;}//参数是否为正确的类型,提高代码健壮性//测试两个对象所属的类是否相同,否则返回falseif (anotherObj instanceof UserDO){//如果是--进行向下转型,父类无法调用子类的成员和方法UserDO anotherUserDO = (UserDO) anotherObj;//最后判断类的所有属性是否相等,其中String类型和Object类型可以用相应的equals()来判断//若姓名和性别一样,则对象相等if(this.getName().equals(anotherUserDO.getName()) &&this.getSex().equals(anotherUserDO.getSex())){return true;}}return false;}@Overridepublic int hashCode(){int result = 17;result = 31 * result + (name == null ? 0 : name.hashCode());result = 31 * result + (age == null ? 0 : age.hashCode());return result;}public static void main(String[] args) {UserDO user1 = new UserDO(1L, "xiaohua", 14);UserDO user2 = new UserDO(2L, "xiaohua", 14);System.out.println((user1.equals(user2)));  //打印为true}
}

这篇关于呼呼哈哈自用--实体类重写equals和hashcode的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/948064

相关文章

项目二----项目的开始是人生的阶梯【哈哈】

最近由于太忙,好久都没有编写博客了,现在又接手了第二个项目,该项目是一个订单系统,主要的功能就是用于展示保单的状态和相关的保单信息以及可以进行继续投保,最重要的是还嵌套这续保功能,这项目在去年年底时已经上线运行了,由于最近续保功能还在优化和重新开发,后续会不断的对博客进行补充。 这是一个属于中间件的项目,在软件架构和设计中主要充当【表现层和逻辑层的部分】,持久层另外项目

MyBatis学习——解决字段名与实体类属性名不相同的冲突

转载地址:http://www.cnblogs.com/xdp-gacl/p/4264425.html

httprunner学习笔记(自用版)

目录 一、安装二、脚本录制1、charles录制2、F12脚本录制 三、脚本生成1、har转换为json脚本2、har转换为yml脚本 四、执行脚本五、查看报告六、httpruner接口自动化项目架构 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求

Ext重写手法

常用的几种方式:1、Ext.apply()和Ext.applyIf()2、Ext.override()3、想做某个类大的修改,可以把该类单独从源码中拿出来,直接修改,然后引用时先应用ext-all.js,再引用从源码中拿出修改的那个类4、obj.prototype.method=function(){}

【自用14】C++俄罗斯方块-思路复盘

1.编写主函数 int main(void){welcome();//欢迎函数system("pause");//窗口停留colsegraph();//关闭图画return 0;//返回值} 其中包含有最开始的欢迎,以及基础的窗口停留、图画关闭和返回值语句 2.编写欢迎函数 需求: 欢迎函数中需要包含的功能 设置游戏窗口的大小 设置游戏窗口的颜色 设置游戏窗口需要显示的文字的字

泛型第二课,派生子类、属性类型、方法重写、泛型擦除

子类(实现类) 子类与父类|接口一样使用泛型子类指定具体的类型子类与父类|接口 同时擦除类型子类泛型,父类|接口 擦除错误:不能子类擦除,父类|接口泛型 package com.pkushutong.genericity3;/*** 父类为泛型类* 1、属性* 2、方法* * 要么同时擦除,要么子类大于等于父类的类型* 不能子类擦除,父类泛型* 1、属性类型* 父类中,随父类型定

Python中的方法重写与多态:解锁编程的无限可能

在编程的世界里,灵活性与扩展性往往是衡量一个语言是否强大、易于维护的关键指标。Python,作为一种被广泛使用的高级编程语言,不仅以其简洁易读的语法赢得了众多开发者的喜爱,更因其支持多种面向对象特性而备受青睐。其中,“方法重写”与“多态”便是两个核心概念,它们不仅能够极大地提高代码的复用性和可维护性,还能帮助我们构建更加灵活、健壮的软件系统。本文将通过一系列由浅入深的例子,带你一起探索这两个概念的

【大数据Java基础-JAVA 面向对象13】面向对象的特征二:继承性 (二) 方法的重写

1.什么是方法的重写(override 或 overwrite)? 子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作. 2. 应用: 重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。 3.举例: class Circle{ public double findArea(){}//求面积 } class Cylinder e

【Java】实体类Javabean的运用案例

文章目录 前言一、定义一个操作类专门处理数据二、代码总结 前言 实体类Javabean的运用案例,现在需要把数据与业务串联起来。 一、定义一个操作类专门处理数据 这里定义了一个叫DogOperator的类,专门用来处理Dog类里面的数据。 解析: 要把Dog类里面的数据拿到DogOperator类当做运用,那么首先要有个关联关系,那么用什么去关联呢?我们要获取一

C# 将DataTable反射成实体类(高效)

工具类实现(直接复制粘贴)  public class DataTableModelConvertHelper{public static List<T> ConvertList<T>(DataTable table) where T : class{List<ResultArgs<string, string, Type, System.Reflection.PropertyInfo>