equals方法与==

equals方法是Object类的方法,所以所有的类都有这个方法,底层的源代码是

public boolean equals(Object obj) {
        return (this == obj);
    }

引用类型==比较,比较的是两个对象的的内存地址是否相同。但是比较内存地址是毫无意义的。所以equals方法只是用来让子类重写的,比如String中的equals方法就经过了重写,是直接比较字符串的值。

public static void main(String[] args) {
		Person p1=new Person("zhangsan",18);
		Person p2=new Person("zhangsan",18);
		String s1="123";
		String s2="123";
		
		boolean b1=p1.equals(p2);
		boolean b2=s1.equals(s2);
		boolean b3=s1==s2;
		System.out.println(b1);
		System.out.println(b2);
		System.out.println(b3);
		
	}

猜你喜欢

转载自blog.csdn.net/qq_36897901/article/details/81158451