Java易混小知识——equals方法和==的区别

时间:2023-03-08 23:59:35
Java易混小知识——equals方法和==的区别

一、equals方法和==的区别

  1.equals是String对象的方法,可以通过".“调用。

  2.== 是一个运算符。

二、常用的比较用法

  1、基本数据类型比较。

    equals和==都比较两个数值 是否相等。相等即为true,不相等则为false。

  2、引用对象的比较。

    equals和==都比较栈内存中的地址是否相等。相等即为true,不相等则为false。

三、易错点

  1、String是一个特殊的引用类型。对于两个字符串的比较,不管是==还是equals这两者比较的都是字符串是否相同。

  2、当创建两个String对象时,内存中的地址是不相同的,你可以赋相同的值。

    所以字符串的内容相同。引用的地址不一定相同。

  3、基本数据类型比较(String除外)==和equals都是比较数值。

四、例子演示

  比较String对象:Ex

  

public class TestEquals {

    public static void main(String args[]){
        String s1 = new String("hello");
        String s2 = new String("hello");
        System.out.println("s1 == s2的结果是:"+(s1 == s2));//false
        System.out.println("s1.equals(s2)的结果是:"+s1.equals(s2));//true
    }
}

  基本数据类型此处省略(两者效果一样)。