java equals比较_Java中equals()和==的比较
今天写点简单点的吧,equals和==的作用都是作比较,但==是条件运算符,而equals是一个继承了object类的方法,也就是说所有类都有一个equals方法,我们先来看一下equals方法在object类中的定义吧。
public boolean equals(Object obj) {
return (this == obj);
}
显然,equals比较的是两个对象的地址,而我们通常需要比较的是两个对象的内容(例如Student类的姓名或者学号),因此我们一般会重写该类的equals方法,像我们经常使用的String类早已重写了equals方法。
以下是Student类的equals方法重写:
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
只有当两个对象的学号(id)相等时才能返回true,否则返回false。
总结:==不能用于两个对象(基本数据类型除外)内容的比较,需要使用重写后的equals方法!!
java equals比较_Java中equals()和==的比较相关推荐
- java equals 区别_Java中equals和==的区别
转自:http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据 ...
- java和equals区别_JAVA中==与equals的区别
equals如果没有被重写的话,和==的作用是一样的,都是判断两个对象引用是否指向同一个地址.一般重写了equals()方法就表示比较它们"实际意义上相等",比较的是内容,而不是引 ...
- JAVA中equals空_Java中为什么查询空字符串跟判断是否为null的时候可以不用equals?...(亲测)
if(id!=null&&id!="") 代码中经常这样写,空字符串跟null 都不用equals吗? 首先,你的 id!="" 这种写法是错误 ...
- java.equal例子_Java中的== 和equals()方法详解与实例
Java中的== 和equals()方法: Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型. byte,short,char,int,long,float,double,boo ...
- java equals equalsignorecase 性能_Java中equals()、equalsIgnoreCase()和==的区别
用久了C#,在Java中,判断一个字符串还是习惯性的用了==,但是总是不能按照正确的判断分支运行,后来才想起来Java中是有equals的,然后就有引出了equalsIgnoreCase. 这三种的正 ...
- equals java的用法_Java ConcurrentLinkedDeque equals()用法及代码示例
java.util.ConcurrentLinkedDeque类的equals()方法用于比较指定对象与此ConcurrentLinkedDeque是否相等.当且仅当指定对象也是ConcurrentL ...
- java uuid静态方法_Java UUID equals()方法与示例
java uuid静态方法 UUID类equals()方法 (UUID Class equals() method) equals() method is available in java.util ...
- java的equals方法_Java Date equals()方法与示例
java的equals方法 日期类equals()方法 (Date Class equals() method) equals() method is available in java.util p ...
- java的equals方法_Java Vector equals()方法与示例
java的equals方法 向量类的equals()方法 (Vector Class equals() method) equals() method is available in java.uti ...
最新文章
- 修改mysql 默认字符集 , 默认引擎
- Nature:口腔和肠道微生物可以使抗糖尿病药物(阿卡波糖)失活
- TP框架中内置查询IP函数
- Java使用正则表达式去掉小数类型字符串多余的.与0
- lucene Field部分参数设置含义
- mysql一直拒绝登录_mysql 登录错误:1045 (28000)访问被拒问题
- 最大公约数 和 最小公倍数
- UVA12439 February 29【日期计算】
- 从一个小场景学会使用 apply方法
- AtCoder Beginner Contest 135 解题报告
- 在一个窗口显示多个视频子窗口
- 成都及周边景点5日游
- 20210729 线性增长条件和全局Lipschitz条件的关系
- 重置Ubuntu root 密码
- 从k-line到决策实践:huobi api实现(一)
- 网页打印文档,不弹出浏览器打印对话框设计思路
- WinSxS目录下文件的清除
- Excel也可以播放MV
- 算法分析:方阵的主对角线之上称为“上三角”。
- Cadence每日一学_08 | OrCAD绘制原理图 - 元器件封装FootPrint信息处理及显示
热门文章
- time库是python中处理时间的标准库_python语言time库和datetime库基本使用详解
- C++学习笔记6[数组]
- VTK:迭代最近点变换用法实战
- wxWidgets:wxSingleChoiceDialog类用法
- wxWidgets:wxDirPickerCtrl类用法
- boost::system模块实现初始化顺序的测试程序
- boost::multi_array模块测试 storage_order-isms
- boost::mp11::mp_nth_element_q相关用法的测试程序
- boost::log模块实现一个简单日志的例子
- boost::fusion::remove_if用法的测试程序