首先,==操作符专门用来比较两个变量的值是否相等,即比较变量所对应的内存中存储的数值是否相等,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符

其次,equals方法是用于比较两个独立对象的内容是否相同。

举例说明:

String a = new String("go");

Stirng b = new String("go");

new了两个不同的对象、但是它们的内容相同。

则有:a==b  返回false、a.equals(b) 返回 true

这里 a和b储存的数值是对象指定的首地址,因为对象不同所有首地址也不同,所以a==b返回false

a 和 b对象的内容是相同的,所以a.equals(b) 返回 true。

在实际开发中,如果一个类没有自己定义equals方法,那么此类将继承Object类的equals方法,

而Object类的equals方法是如下实现的:

boolean equals(Object o){

return this==o;

}

即默认的equals方法就是使用==操作符,也就是比较两个变量指向的对象是否是同一对象。

如果想要比较两个实例内容是否相同,则需要自行重写equles方法覆盖。达到想要的结果。