博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
equals方法的重写代码实例
阅读量:6969 次
发布时间:2019-06-27

本文共 1313 字,大约阅读时间需要 4 分钟。

hot3.png

这篇文章主要是要记录一下equals的重写,下面上代码,代码里有足够的注释

/** *  *//** * @author laishengfeng * @2014-8-20 * @TODO equals方法的重写 */public class Citizen {	String id; // 身份证号	String name; // 名字	int age; // 年龄	String sex; // 性别	// 用构造方法对成员变量进行初始化	public Citizen(String theId, String theName, int theAge, String theSex) {		this.id = theId;		this.name = theName;		this.age = theAge;		this.sex = theSex;	}	// 重写equals()方法	public boolean equals(Object obj) {		// 首先需要判断obj是否为null, 如果为null,返回false		if (obj == null) {			return false;		}		// 判断测试的是否为同一个对象,		// 如果是同一个对象,无庸置疑,它应该返回true		if (this == obj) {			return true;		}		// 判断它们的类型是否相等,		// 如果不相等,则肯定返回false		if (this.getClass() != obj.getClass()) {			return false;		}		// 将参数中传入的对象造型为Citizen类型		Citizen c = (Citizen) obj;		// 比较两个对象的所有属性是否一样,就可以得出这两个对象是否相等		if ((this.id) == (c.id) && (this.name).equals(c.name)				&& (this.age) == (c.age) && (this.sex).equals(c.sex)) {			return true;		}else {			return false;		}	}}

上面是重写的具体过程

然后 用一个测试类 来进行验证

/** *  *//** * @author laishengfeng * @2014-8-20 * @TODO 测试Citizen类 */public class TestCitizen{	public static void main(String[] args)	{		Citizen c1 = new Citizen("id00001","zhangsan",20,"男");		Citizen c2 = new Citizen("id00001","zhangsan",20,"男");		System.out.println(c1.equals(c2));	}}

  此文到此END..

转载于:https://my.oschina.net/lsf930709/blog/304660

你可能感兴趣的文章
系统数据文件和信息
查看>>
Laravel 程序架构设计思路:使用动作类
查看>>
Java线程池实现原理与技术(ThreadPoolExecutor、Executors)
查看>>
Linux内核读书笔记第五周链接
查看>>
工厂模式(Factory Patter)
查看>>
【转】sqlserver临时表操作
查看>>
计算机等级考试成绩查询系统的设计与实现vfp
查看>>
android:exported 属性详解
查看>>
AT907 心配性な富豪、ファミリーレストランに行く。
查看>>
查询窗体的制作
查看>>
正则表达式详解<一>
查看>>
dede会员中心修改
查看>>
腾讯工蜂Git关联Jenkins Hooks
查看>>
iscroll API
查看>>
数组查询和冒泡排序算法
查看>>
Android打开新的Activty不传递参数
查看>>
iOS书籍源码免费下载 关老师 作品《iPhone与iPad开发实战—iOS经典应用剖析》
查看>>
字符编码
查看>>
Git学习-Git时光机之版本回退(二)
查看>>
POJ 3080, Blue Jeans
查看>>