区分两者主要在于区分他们比较的对象是什么。
1、equals根据是否别重写分两种情况
重写前,即Object对象中的方法,比较的是对象在堆中的地址。
public boolean equals(Object obj) {
return (this == obj);
}
重写后,主要比较内容是否相同,开发人员后期也可以对其进行再重写。
2、==根据比较对象的类型分为两种情况
基本类型,如byte,char,short.long,boolean,int,double,float比较的是值
复合类型,如String,Integer等对象类型,比较的是堆地址