背景

在Java中经常会用到比较两个值是否相等,常用的是==运算符以及equals方法

==

1.==可以比较基本类型,也可以比较引用类型
2.==比较基本类型时,是比较值是否相等
3.==比较引用类型时,是比较堆中的引用地址是否相等,即是否为同一个对象

java 判断两个对象值相等 java判断两个值是否相等_java

equals

1.equals是Object的一个方法,默认只能判断引用类型,但是子类可以重写equals方法,做指定的比较

String类重写equals方法

1.先判断引用地址是否相同,相同就返回TRUE
2.如果引用地址不同,在判断是否为String类或其子类,如果不是,返回FALSE
3.如果是String类或其子类,就判断长度是否一致,如果不一致返回FALSE,如果一致比较每个字符是否一致,如果不一致,返回FALSE,否则返回TRUE

java 判断两个对象值相等 java判断两个值是否相等_子类_02