==:
基本类型比较值:只要两个变量的值相等,即为true.
引用类型比较引用(是否指向同一个对象)
两者区别:
1、==既可以比较基本数据类型也可以比较引用类型。对于基本数据类型就是比较值,对于引用数据类型就是比较内存地址。
2、equals的话,它是属于Java.lang.Object类里面的方法,如果该方法没有被重写过,默认也是 ==;我们可以看到String等类的equals方法是被重写过的,而且String类在日常开发中用的比较多,久而久之,形成了equals是比较值的错误观点
3.具体要看自定义类里有没有重写Object的equals方法。
4.通常情况下,重写equals方法,会比较类中的相应属性是否都相等。