有关于object类中的tostring

44 阅读1分钟

toString() 方法是一个 Java 中的方法,在每个继承 Object 类的类中都可以重写该方法。它的作用是返回一个字符串,表示当前对象的状态和内容。

默认情况下,toString() 返回一个字符串,包含对象的类名和哈希码信息,类似于 com.example.MyClass@1a2b3c4d 的格式。这个哈希码是由 Object.hashCode() 方法返回的值。

如果我们想要实现自定义的 toString() 方法,可以重载该方法,自己实现 toString 逻辑,以更好地表示对象的状态和内容。例如:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return String.format("Person{name='%s', age=%d}", name, age);
    }
}

Person person = new Person("Tom", 18);
System.out.println(person.toString());

输出:

Person{name='Tom', age=18}

toString() 方法不仅可以被用于输出对象的状态和内容,还可以作为日志记录和调试代码的手段。当我们需要调试某个对象时,可以打印该对象的 toString() 方法输出,从而了解其当前的状态。

当使用第三方库时,toString() 方法也可以帮助我们快速地了解一些对象的内容。例如,一个集合(List 或 Map)对象,我们可以打印其 toString() 方法,以快速了解其中的内容。

需要注意的是,我们应该确保 toString() 方法返回一个易于读取和理解的字符串,而且该字符串应该包含足够的信息,但不应该过于详细,否则会导致性能问题。同时,我们还应该遵循“等同”关系,也就是说,如果两个对象的所有属性值都相等,则它们的 toString() 方法应该返回相同的字符串。