需求:判断 doctor1 和 docto r的 certid 值是否一致
入坑代码:
可以看到doctor1和doctor2的certId值都是33,程序设计上是若两个对象certId值相等就进入if语句内。
出坑代码:将 == 改为 equals()
按照设计进入到if语句内
原理分析:
一、==:
在java中,对于基本数据类型使用“==”,比较的是值,而对于引用数据类型使用“==”,比较的是它们在堆内存中的地址值。
二、equals:
比较引用数据类型,默认情况下比较地址值,若我们重写了对象的equals方法,则比较是变量值(该例中咱们的Doctor类重写了equals方法)。
常见数据类型分类图: