java基础-equals和==

来源:互联网 发布:plc编程 工资高吗 编辑:程序博客网 时间:2024/06/10 05:24
public boolean equals(Object obj) {        return (this == obj);    }

public class Person {private String name;public Person(String name) {super();this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

public class TestObject {public static void main(String[] args) {Person p1 = new Person("李");Person p2 = new Person("李");System.out.println(p1 == p2);System.out.println(p1.equals(p2));String a = "123";String b = new String("123");System.out.println(a==b);System.out.println(a.equals(b));}}


System.out.println(p1 == p2);  false

p1和p2的对象是不一样的,所以为false

System.out.println(p1.equals(p2)); false

该比较为object的判断,实质是==判断,若要只是比较内容相等,那么Person对象就得重写equals方法

System.out.println(a==b); false

a和b的对象是不一样的,所以为false

System.out.println(a.equals(b)); //true

string的方法里就已经重写了equals方法,所以为true

 

原创粉丝点击