equals方法,用于比较两个对象是否相同,它其实就是使用两个对象的内存地址在比较。Object类中的equals方法内部使用的就是==比较运算符。
package Xuexi; public class Person {
private String name;
private int age;
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
}
@Override
//判断是否是同龄人
public boolean equals(Object obj) {
// TODO Auto-generated method stub
//判断调用者和传进来的对象是否一致
if(obj==this){
return true;
}
if(obj instanceof Person){
Person p=(Person)obj;
return p.age==this.age;
}
return false;
}
package Xuexi; public class Test { public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1=new Person();
p1.setAge(28);
Person p2=new Person();
p2.setAge(17);
//==比较的是两个引用类型的地址
//如果你的person没重写object子类,那么你的p1.equals(arr)调用的是object的equals方法,比较的是两个对象的内存地址,没有实用意义
//而我们的Person类如果比较的话应该比较年龄是否相同就要重写父类的equals方法
boolean b=p1.equals(p2);
System.out.println(b);
} }

最新文章

  1. Spring MVC+Quartz 定时任务持久化
  2. map与vector---Email Aliases
  3. RapeLay(电车之狼R)的结局介绍 (隐藏结局攻略)
  4. Android安全问题 程序锁
  5. ubuntu下SVN服务器安装配置
  6. java入门(与C++的不同之处)封装篇
  7. activiti入门2流程引擎的API和服务基础
  8. oracle 对象权限 系统权限 角色权限
  9. oracle 存储过程返回结果集 (转载)
  10. JSP TAG
  11. vsftp之虚拟用户
  12. [0] AssemblyInfo.cs文件介绍
  13. git 仓库中删除历史大文件
  14. SQL Server 分区表上建立ColumnStore Index 如何添加新分区方法与步骤
  15. Spring MVC 使用介绍(十)—— 编码
  16. 【blog】Hibernate5如何设置SQLite的方言(待更新...)
  17. Python中的exec、eval使用实例
  18. NPM安装依赖速度慢问题
  19. JavaScript学习总结(六)——JavaScript判断数据类型总结
  20. JS动态更新微信浏览器中的title

热门文章

  1. python第八周:socket网络编程
  2. OO第四单元总结——查询UML类图 暨 OO课程总结
  3. lunix下的redis数据库操作——zset有序集合
  4. C#--委托的同步,异步,回调函数
  5. mybatis mapper xml文件配置resultmap时,id行和result行有什么区别?
  6. oracle批量更新
  7. POJ 2019 Cornfields 二维线段树的初始化与最值查询
  8. LINQ体验(8)——LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
  9. IT人才异军突起 有招网引领业界精英
  10. 有一种蓝叫 APEC 蓝