// Java代码示例:java.lang.Object类的使用
public class ObjectExample {
public static void main(String[] args) {
// 创建一个自定义类的对象
Person person1 = new Person("Alice", 30);
Person person2 = new Person("Alice", 30);
// 使用Object类的方法
System.out.println("person1 hashCode: " + person1.hashCode());
System.out.println("person2 hashCode: " + person2.hashCode());
System.out.println("person1 equals person2: " + person1.equals(person2));
System.out.println("person1 toString: " + person1.toString());
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Person person = (Person) obj;
return age == person.age && name.equals(person.name);
}
@Override
public int hashCode() {
int result = name.hashCode();
result = 31 * result + age;
return result;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
}
hashCode()
方法:返回对象的哈希码值。哈希码用于哈希表(如 HashMap
)中快速查找对象。equals(Object obj)
方法:判断两个对象是否相等。默认实现是基于对象引用,但通常需要重写以根据对象的内容进行比较。toString()
方法:返回对象的字符串表示形式。默认实现是类名加上哈希码,但通常会重写以提供更有意义的输出。这个例子展示了如何在自定义类中重写 Object
类的这些方法,以便更好地控制对象的行为和表示。
上一篇:java基础数据类型有几种
下一篇:java的三大特征
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站