问答详情
源自:4-4 Java条件语句之嵌套 if

什么是equals方法?一般怎么用?用在什么情况下?

什么是equals方法?一般怎么用?用在什么情况下?

提问者:miss倾 2017-02-03 16:19

个回答

  • 碎片的阳光
    2017-02-03 16:49:45
    已采纳

    用来比较两个字符型数据内容是否相同。相同则返回true,否则返回false。

    例如,char a='123' 

    则a.equals('123') 返回true a.equals('1234') 返回false

  • 吞天沃日干自闭
    2017-02-03 17:53:29

    equals比较的是内容,只要值相同就是true。

    String str  = new String("aaa");
    String str1  = new String("aaa");
    boolean bl = str.equals(str1);
    结果就是:true。
    备注:但是如果比较的是str==str1,这个结果就是false(地址引用不同)

  • rxd
    2017-02-03 17:01:48

    equals 方法是 java.lang.Object 类的方法。有两种用法说明:

    (1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。

    “==”比较两个变量本身的值,即两个对象在内存中的首地址。

    “equals()”比较字符串中所包含的内容是否相同。

    (2)对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其

    对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。

    总之:equals方法对于字符串来说是比较内容的,而对于非字符串来说是比较其指向的对象是否相同的。

    对于几乎所有引用类型,当您希望测试相等性而不是引用一致性时,使用 Equals。对于值类型,通常使用 ==,因为除非值类型本身包含引用类型(这种情况极为罕见),否则是恒等还是相等的问题无关紧要。