Java中,判断两者之间的方法?
时间: 2024-02-22 09:58:22 浏览: 19
Java中判断两个对象是否相等有两种方法:
1. 使用"=="运算符:这种方法比较的是两个对象的内存地址是否相同,即是否指向同一个对象。
2. 使用equals方法:这种方法比较的是两个对象的内容是否相同,即对应的属性值是否相同。需要注意的是,equals方法需要重写,否则默认比较的还是两个对象的内存地址。
示例代码:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (obj instanceof Person) {
Person p = (Person) obj;
return this.name.equals(p.name) && this.age == p.age;
}
return false;
}
// getter和setter方法省略
}
public class Test {
public static void main(String[] args) {
Person p1 = new Person("张三", 18);
Person p2 = new Person("张三", 18);
// 使用"=="运算符比较
System.out.println(p1 == p2); // false
// 使用equals方法比较
System.out.println(p1.equals(p2)); // true
}
}
```