equals和==的区别
首先对于基本数据类型和引用数据类型==的作用效果是不同的:
基本数据类型比较的是值是否相同,引用数据类型比较的是引用是否相同。
因为x和y指向的是同一个引用,所以==也是true,而new String方法重写开辟了内存空间,所以==结果为false,而equals比较的一直是值,所以结果都是ture。
首先来看一下默认情况下equals比较一个有相同值的对象输出结果为false,
但是在String方法下就输出为true原因在源码中可见:
原因就是String重写了Object的equals方法,把引用比较改成了值比较。