什么是equals方法?一般怎么用?用在什么情况下?
用来比较两个字符型数据内容是否相同。相同则返回true,否则返回false。
例如,char a='123'
则a.equals('123') 返回true a.equals('1234') 返回false
equals比较的是内容,只要值相同就是true。
如
String str = new String("aaa");
String str1 = new String("aaa");
boolean bl = str.equals(str1);
结果就是:true。
备注:但是如果比较的是str==str1,这个结果就是false(地址引用不同)
equals 方法是 java.lang.Object 类的方法。有两种用法说明:
(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。
“==”比较两个变量本身的值,即两个对象在内存中的首地址。
“equals()”比较字符串中所包含的内容是否相同。
(2)对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其
对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
总之:equals方法对于字符串来说是比较内容的,而对于非字符串来说是比较其指向的对象是否相同的。
对于几乎所有引用类型,当您希望测试相等性而不是引用一致性时,使用 Equals。对于值类型,通常使用 ==,因为除非值类型本身包含引用类型(这种情况极为罕见),否则是恒等还是相等的问题无关紧要。