“equals”和”==”的区别

发布于 2019-05-13  575 次阅读


equals方法是String类从它的超类Object中继承的, 被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。

account.equals("admin") && password.equals("123456")

就像上面这句一样,明明是验证account是否等于admin,为啥不用“==”呢?
对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。
“==”比较两个变量本身的值,即两个对象在内存中的首地址。“EQUALS()”比较字符串中所包含的内容是否相同。
例如:

    String str1=new String("apple");
    String str2=new String("apple");
    str1==str2;

    str1.equals(str2);

那么第一条返回的是false,第二条返回的是true

== 和equals()两种比较方法,在使用时要注意:
1、如果测试两个简单类型的数值是否相等,则一定要用“==”来比较;
2、如果要比较两个引用变量对象的值是否相等,则要用对象的equals()方法进行比较;
3、如果需要比较两个引用变量是否指向同一对象,则使用“==”来进行比较;


一只蠢莫