Java Object 类的常见⽅法有哪些?
Object 是 Java 中的基类,几乎所有的 Java 类都直接或间接地继承自 Object。因此,Object 类中的方法是 Java 中最常用的方法之一,本文将介绍 Object 类的常见方法及其作用。
1、equals()
equals() 方法用于比较两个对象是否相等。在 Object 类中,equals() 方法实现的是对象的引用比较,即判断两个对象是否指向同一个内存地址。但在大多数情况下,我们需要对对象的属性进行比较,因此,我们需要重写 equals() 方法。
例如,我们定义了一个 Person 类,它包含姓名和年龄两个属性,我们需要重写 equals() 方法,以便在比较两个 Person 对象时,只要姓名和年龄相同,就认为这两个对象相等。代码如下:
public class Person {
private String name;
private int age;
public boolean equals(Object obj) {
if (obj instanceof Person) {
Person p = (Person) obj;
return this.name.equals(p.name) && this.age == p.age;
}
return false;
}
}
2、hashCode()
hashCode() 方法返回对象的哈希码,用于散列表等数据结构中。在 Object 类中,hashCode() 方法返回的是对象的内存地址,即默认情况下,相同对象的 hashCode() 方法返回值是不相同的。因此,我们需要重写 hashCode() 方法,使其返回对象的属性的哈希值,以便在散列表等数据结构中能够正确地查找和比较对象。
例如,我们继续以 Person 类为例,重写 hashCode() 方法如下:
public int hashCode() {
int result = 17;
result = 31 * result + name.hashCode();
result = 31 * result + age;
return result;
}
3、toString()
toString() 方法用于返回对象的字符串表示。在 Object 类中,toString() 方法返回的是对象的类名和内存地址的字符串表示。因此,我们也需要重写 toString() 方法,使其返回对象的属性的字符串表示。
例如,我们继续以 Person 类为例,重写 toString() 方法如下:
public String toString() {
return "Person[name=" + name + ",age=" + age + "]";
}
4、clone()
clone() 方法用于复制对象。在 Object 类中,clone() 方法只能复制基本类型的属性,而无法复制引用类型的属性。因此,我们需要重写 clone() 方法,并实现深拷贝。
例如,我们定义了一个 Student 类,它包含姓名、年龄和课程三个属性,其中课程是一个引用类型的属性,我们需要重写 clone() 方法,实现对课程属性的深拷贝。代码如下:
public class Student implements Cloneable {
private String name;
private int age;
private Course course;
public Object clone() throws CloneNotSupportedException {
Student s = (Student) super.clone();
s.course = (Course) course.clone();
return s;
}
}
- 点赞
- 收藏
- 关注作者
评论(0)