== 和 equals 的区别是什么

    xiaoxiao2022-07-12  142

    == 和 equals 的区别是什么

    一、==二、equals

    一、==

    == 比较的是值是否相等 如果是基本数据类型的比较,则直接比较的是储存的值是否相等 如果是引用类型比较,则比较的是所指向对象的地址值是否相等

    二、equals

    equals不能用于基础数据类型的比较 equals比较的是是否是同一个对象 equals是Object的方法,如果没有重写equals方法,比较的是引用类型变量所指向对象的地址值是否相等 如String,Date等对equals方法进行了重写,则equals比较的是只想对象的内容是否相等

    @Test public void test1() { int a = 1; int b = 1; System.out.println("a == b: " + (a == b));// true String m = "a"; String n = "b"; String x = new String("a"); String y = new String("a"); System.out.println("m == n: " + (m == n)); // false System.out.println("m equals(n): " + (m.equals(n))); // false System.out.println("m == x: " + (m == x)); // false System.out.println("m equals(x): " + (m.equals(x))); // true System.out.println("x == y: " + (x == y)); // false System.out.println("x equals(y): " + (x.equals(y))); // true }
    最新回复(0)