一、对象类型不同
1、equals():是超类Object中的方法;
2、==:是操作符.
二、比较的对象不同
1、equals():用来检测两个对象是否相等,即两个对象的内容是否相等;
2、==:用于比较引用和比较基本数据类型时具有不同的功能.
三、运行速度不同
1、equals():没有 = = 运行速度快。
2、= =:运行速度比equals()快,因为==只是比较引用。
equals()和==的源码定义:
public boolean equals(Object obj) {
return (this == obj);
}
比较数组是否相等用equals
数组相等的条件不仅要求数组元素的个数必须相等,而且要求对应位置的元素也相等。Arrays 类提供了 equals() 方法比较整个数组。
equals比较的是两个字符串内容是否相等
**==**比较的是两个字符串的内存地址是否相同。
所以以后比较两个字符串内容是否相等要用equals();
==号在比较基本数据类型时比较的是值,
而用= =号比较两个对象时比较的是两个对象的地址值.
举个通俗的例子来说,==是判断两个人是不是住在同一个地址,而equals是判断同一个地址里住的人是不是同一个