操作符 “==” 与对象的 equals() 方法

操作符 “==” 用来比较两个操作元是否相等,这两个操作元既可以是基本类型,也可以是引用类型。

 

在 java.lang.Object 类中定义了 equals() 方法,比较两个对戏那个是否相等。

 

当操作符 “==” 两边都引用类型变量时,这两个引用变量必须引用同一个对象,结果才为 true。

 

操作符 “==” 与多态性

 

对于引用类型变量,Java 编译器根据变量被显示声明的类型去编译。

当 “==” 用于比较引用类型变量时,“==” 两边的变量被显示声明的类型必须是同一个继承分支上,否则编译出错。

而在运行时,Java 虚拟机讲根据两边的引用变量实际引用的对象进行比较。

 

对象的 equals() 方法

 

Object 类的 equals() 方法的比较规则为:当参数 obj 引用的对象与当前对象为同一个对象时,就返回 true,否则返回 false。

 

在 JDK 中有一些类覆盖了 Object 类的 equals() 方法,它们的比较规则为:如果两个对象的类型一致,并且内容一致,则返回 true。这些类包括:java.io.File、java.util.Date、java.lang.String、包装类(java.lang.Integer 和 java.lang.Double 等)

 

Boolean 类是包装类,只要两个 Boolean 对象的布尔值内容一样,equals() 方法比较结果就为 true。

 

Float 和 Double 类型是包装类,只要两个 Float 对象或两个 Double 对象的内容一样,equals()方法的比较结果就为 true。

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值