用equals()方法比较两个Object类的空新对象不相等,而比较两个String类的空新对象却相等。视频中说Object类的equals()方法比较的是两个Object类对象的内存地址是否相等,那么String类是否是因为重写了equals()方法,而比较值是否相等?
是
JDK代码里面String要比多个维度,为了多方面的加速比较
1、引用不同,不相等;2、类型不同,不相等;3、长度不等,不相等;4、字符不对等,不相等;5、排除所有不符合的情况,即相等。