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()
方法应该返回相同的字符串。