今天写点简单点的吧,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()和==的比较相关推荐

  1. java equals 区别_Java中equals和==的区别

    转自:http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据 ...

  2. java和equals区别_JAVA中==与equals的区别

    equals如果没有被重写的话,和==的作用是一样的,都是判断两个对象引用是否指向同一个地址.一般重写了equals()方法就表示比较它们"实际意义上相等",比较的是内容,而不是引 ...

  3. JAVA中equals空_Java中为什么查询空字符串跟判断是否为null的时候可以不用equals?...(亲测)

    if(id!=null&&id!="") 代码中经常这样写,空字符串跟null 都不用equals吗? 首先,你的 id!="" 这种写法是错误 ...

  4. java.equal例子_Java中的== 和equals()方法详解与实例

    Java中的== 和equals()方法: Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型. byte,short,char,int,long,float,double,boo ...

  5. java equals equalsignorecase 性能_Java中equals()、equalsIgnoreCase()和==的区别

    用久了C#,在Java中,判断一个字符串还是习惯性的用了==,但是总是不能按照正确的判断分支运行,后来才想起来Java中是有equals的,然后就有引出了equalsIgnoreCase. 这三种的正 ...

  6. equals java的用法_Java ConcurrentLinkedDeque equals()用法及代码示例

    java.util.ConcurrentLinkedDeque类的equals()方法用于比较指定对象与此ConcurrentLinkedDeque是否相等.当且仅当指定对象也是ConcurrentL ...

  7. java uuid静态方法_Java UUID equals()方法与示例

    java uuid静态方法 UUID类equals()方法 (UUID Class equals() method) equals() method is available in java.util ...

  8. java的equals方法_Java Date equals()方法与示例

    java的equals方法 日期类equals()方法 (Date Class equals() method) equals() method is available in java.util p ...

  9. java的equals方法_Java Vector equals()方法与示例

    java的equals方法 向量类的equals()方法 (Vector Class equals() method) equals() method is available in java.uti ...

最新文章

  1. 修改mysql   默认字符集 , 默认引擎
  2. Nature:口腔和肠道微生物可以使抗糖尿病药物(阿卡波糖)失活
  3. TP框架中内置查询IP函数
  4. Java使用正则表达式去掉小数类型字符串多余的.与0
  5. lucene Field部分参数设置含义
  6. mysql一直拒绝登录_mysql 登录错误:1045 (28000)访问被拒问题
  7. 最大公约数 和 最小公倍数
  8. UVA12439 February 29【日期计算】
  9. 从一个小场景学会使用 apply方法
  10. AtCoder Beginner Contest 135 解题报告
  11. 在一个窗口显示多个视频子窗口
  12. 成都及周边景点5日游
  13. 20210729 线性增长条件和全局Lipschitz条件的关系
  14. 重置Ubuntu root 密码
  15. 从k-line到决策实践:huobi api实现(一)
  16. 网页打印文档,不弹出浏览器打印对话框设计思路
  17. WinSxS目录下文件的清除
  18. Excel也可以播放MV
  19. 算法分析:方阵的主对角线之上称为“上三角”。
  20. Cadence每日一学_08 | OrCAD绘制原理图 - 元器件封装FootPrint信息处理及显示

热门文章

  1. time库是python中处理时间的标准库_python语言time库和datetime库基本使用详解
  2. C++学习笔记6[数组]
  3. VTK:迭代最近点变换用法实战
  4. wxWidgets:wxSingleChoiceDialog类用法
  5. wxWidgets:wxDirPickerCtrl类用法
  6. boost::system模块实现初始化顺序的测试程序
  7. boost::multi_array模块测试 storage_order-isms
  8. boost::mp11::mp_nth_element_q相关用法的测试程序
  9. boost::log模块实现一个简单日志的例子
  10. boost::fusion::remove_if用法的测试程序