object类中判断两个对象是否相等的方法是什么?
时间: 2024-05-21 09:18:27 浏览: 49
在Java中,可以使用 `equals()` 方法来判断两个对象是否相等。`equals()` 方法是Object类中的方法,因此所有的Java类都可以使用该方法来判断对象是否相等。默认情况下,`equals()` 方法比较的是两个对象的引用是否相等,即它们是否指向同一个内存地址。如果你想要比较两个对象的内容是否相等,那么你需要在自己的类中重写 `equals()` 方法。
相关问题
定义一个Person类,有年龄,姓名等属性,方法有读取年龄、读取姓名,设置年龄、设置姓名,并重写Object类中equals()方法,实现判断两个Person对象的年龄是否相等;重写Object类中toString()方法,显示Person的基本信息。
下面是一个Java代码示例:
```java
public class Person {
private int age;
private String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Person other = (Person) obj;
if (this.age != other.age) {
return false;
}
return true;
}
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}
}
```
在上面的示例中,我们定义了一个名为`Person`的类,它有两个私有属性`age`和`name`,分别表示年龄和姓名。我们还定义了一个构造函数,用于初始化这两个属性值。然后,我们为这两个属性定义了读取和设置方法,以允许其他类访问它们。
接下来,我们重写了`equals()`和`toString()`方法。`equals()`方法用于比较两个`Person`对象的年龄是否相等,而`toString()`方法则用于返回`Person`对象的基本信息,以方便输出。
请注意,在`equals()`方法中,我们使用了Java中的`getClass()`方法来比较两个对象的类是否相同。这是因为在Java中,所有对象都继承自`Object`类,因此我们需要确保比较的是同一种类型的对象。
用Java定义一个 Person 类,有年龄,姓名等属性,方法有读取年龄、读取姓名,设置年龄、设置姓名,并重写 Object 类中 equals ()方法,实现判断两个 Person 对象的年龄是否相等;重写 Object 类中 toString ()方法,显示 Person 的基本信息。
下面是用 Java 定义的 Person 类,包含年龄、姓名属性和读取/设置方法,以及重写的 equals() 和 toString() 方法:
```java
public class Person {
private int age;
private String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof Person) {
Person p = (Person) obj;
return this.age == p.age;
}
return false;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
```
其中,equals() 方法将判断两个 Person 对象的年龄是否相等,如果是,则返回 true;否则返回 false。而 toString() 方法会显示 Person 对象的基本信息,包括姓名和年龄。
阅读全文