java equals的用法
2024-08-31 07:51:58
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);
} }
最新文章
- Spring MVC+Quartz 定时任务持久化
- map与vector---Email Aliases
- RapeLay(电车之狼R)的结局介绍 (隐藏结局攻略)
- Android安全问题 程序锁
- ubuntu下SVN服务器安装配置
- java入门(与C++的不同之处)封装篇
- activiti入门2流程引擎的API和服务基础
- oracle 对象权限 系统权限 角色权限
- oracle 存储过程返回结果集 (转载)
- JSP TAG
- vsftp之虚拟用户
- [0] AssemblyInfo.cs文件介绍
- git 仓库中删除历史大文件
- SQL Server 分区表上建立ColumnStore Index 如何添加新分区方法与步骤
- Spring MVC 使用介绍(十)—— 编码
- 【blog】Hibernate5如何设置SQLite的方言(待更新...)
- Python中的exec、eval使用实例
- NPM安装依赖速度慢问题
- JavaScript学习总结(六)——JavaScript判断数据类型总结
- JS动态更新微信浏览器中的title
热门文章
- python第八周:socket网络编程
- OO第四单元总结——查询UML类图 暨 OO课程总结
- lunix下的redis数据库操作——zset有序集合
- C#--委托的同步,异步,回调函数
- mybatis mapper xml文件配置resultmap时,id行和result行有什么区别?
- oracle批量更新
- POJ 2019	 Cornfields 二维线段树的初始化与最值查询
- LINQ体验(8)——LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
- IT人才异军突起 有招网引领业界精英
- 有一种蓝叫 APEC 蓝