关于 “==”:
“==”是我们常见一种比较运算符,作用是:比较两边的操作数是否相等,结果为false或true。比如:4 ==3 为false。
(1)等号两边是基本数据类型,比较基本数据类型变量的值
(2)等号两边是引用数据类型,比较引用数据类型变量的值,即内存地址,而不是该变量所指向对象的内容
而,
是因为s1和s2为同一个对象,指向堆内存中的同一区域。
关于equals:
(1)Object类中有一个equals方法,用于比较两个对象是否相等,而比较的是两个对象所在的内存地址,所以自定义类中,一般要覆盖Object类中的equals方法。
(2)String类中的equals方法,比较的是字符串对象的内容
(3)Arrays类中的equals方法,比较数组中对应的元素是否相等
(4)其他自定义类的equals方法,根基自定义的equals方法中的内容,作为比较的内容。