java 的Object的equals方法
来源:互联网 发布:python简明教程pdf 编辑:程序博客网 时间:2024/05/29 08:08
Java Object equals方法
/**
*
*/
package freewill.objectequals;
/**
* @author freewill
* @see Core Java page161
* @desc getClass实现方式,另有instance of实现方式,根据不同场景使用。
*/
public class Employee {
private String name;
private int salary;
private String hireDay;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String getHireDay() {
return hireDay;
}
public void setHireDay(String hireDay) {
this.hireDay = hireDay;
}
@Override
public boolean equals(Object obj) {
// a quick test to see if the objects are identical
if (this == obj)
return true;
// must return false if the explicit parameter is null
if (obj == null)
return false;
// if the class don't match,they can't be equal
if (getClass() != obj.getClass())
return false;
// now we know obj is non-null Employee
Employee other = (Employee) obj;
// test whether the fileds have identical values
return name.equals(other.name) && salary == other.salary
&& hireDay.equals(other.salary);
}
}
Java语言规范要求equals方法具有下面的特性:
1.自反性:对于任何非空引用x,x.equals(x)应该返回true。
2.对称性:对于任何引用x和y,当且仅当y.equals(x)返回true,x.equals(y)也应该返回true。
3.传递性:对于任何引用x、y和z,如果x.equals(y)返回true,y.equals(z)返回true,x.equals(z)也应该返回true。
4.一致性:如果x和y引用的对象没有发生变化,反复调用x.equals(y)应该返回同样的结果。
5.对于任意非空引用x,x.equals(null)应该返回false。
*
*/
package freewill.objectequals;
/**
* @author freewill
* @see Core Java page161
* @desc getClass实现方式,另有instance of实现方式,根据不同场景使用。
*/
public class Employee {
private String name;
private int salary;
private String hireDay;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String getHireDay() {
return hireDay;
}
public void setHireDay(String hireDay) {
this.hireDay = hireDay;
}
@Override
public boolean equals(Object obj) {
// a quick test to see if the objects are identical
if (this == obj)
return true;
// must return false if the explicit parameter is null
if (obj == null)
return false;
// if the class don't match,they can't be equal
if (getClass() != obj.getClass())
return false;
// now we know obj is non-null Employee
Employee other = (Employee) obj;
// test whether the fileds have identical values
return name.equals(other.name) && salary == other.salary
&& hireDay.equals(other.salary);
}
}
Java语言规范要求equals方法具有下面的特性:
1.自反性:对于任何非空引用x,x.equals(x)应该返回true。
2.对称性:对于任何引用x和y,当且仅当y.equals(x)返回true,x.equals(y)也应该返回true。
3.传递性:对于任何引用x、y和z,如果x.equals(y)返回true,y.equals(z)返回true,x.equals(z)也应该返回true。
4.一致性:如果x和y引用的对象没有发生变化,反复调用x.equals(y)应该返回同样的结果。
5.对于任意非空引用x,x.equals(null)应该返回false。
- java 的Object的equals方法
- java Object 的equals方法的复写
- Object的equals方法
- object的equals方法
- Object的equals方法
- java基础:Object的equals方法
- Java中Object类的equals方法
- java超类Object的equals()方法
- java基础:Object的equals方法
- Java day07 复写Object 类的equals(Object)方法
- Java Object equals方法
- java.lang.Object的equals()和hashCode()方法小结
- JAVA学习之Object类-equals方法的覆写
- Java源码学习-Object类的hashCode和equals方法
- java学习笔记——Object的equals方法
- Java中Object类的equals()和hashCode()方法
- java小记之Object类的equals方法t
- Java中重写object下的equals方法
- 一篇关于Unity3D优化的文章,翻译脚本优化部分 (2011-11-27 11:26:28)
- Perl的正则表达式——入门篇
- 时间控件
- python中List的sort方法(或者sorted内建函数)的用法
- MyActionListener监听按钮
- java 的Object的equals方法
- 基于Ubuntu交叉编译FFmpeg Windows SDK
- 兄弟郊游问题
- 一个app,多个入口图标,activity-alias实现多程序入口并显示指定view完成
- zoj1331
- Hibernate从入门到精通(四)基本映射 .
- android下使用Fragment实现左侧3级菜单+动画效果
- X.509定义的证书
- Python list 操作