为什么有第9行前两个输出是true,没有第9行前两个输出是false,最后一个输出为什么是false?

img


为什么有第9行前两个输出是true,没有第9行前两个输出是false,最后一个输出为什么是false?

两个等于号是比地址,equals是比值,在第五行他们的地址是不一样的,所以a==b结果是false,a.equals(b)是false,数组使用equals方法就是比地址,因为没有重写equals方法,想要真正的比值得用Arrays.equals(a,b) ,这样结果是true

当执行了a=b时候,意思是把b赋给a,这个时候跟b是一模一样的所以a==b结果是true,a.equals(b)是TRUE