📜  public string tostring() { - Java (1)

📅  最后修改于: 2023-12-03 14:45:41.479000             🧑  作者: Mango

Java中的public string tostring()方法

在Java中,每个类都会默认继承Object类,在Object类中有一个tostring()方法,用于返回该对象的字符串表示形式。

如果一个类没有覆盖该方法,那么调用该方法时返回的就是该对象的地址。但通常我们需要返回对象有意义的字符串表示,以方便我们观察和调试程序。

因此,我们可以在自己的类中覆盖该方法,来返回我们期望的字符串表示形式。

语法

以下是tostring()方法的语法:

public String toString()

该方法是公有的,返回一个字符串类型,方法名为toString(),没有参数。

覆盖方法

我们可以覆盖toString()方法来自定义一个类的字符串表示形式。例如:

public class MyClass {
    private int value1;
    private String value2;
    
    public MyClass(int value1, String value2) {
        this.value1 = value1;
        this.value2 = value2;
    }
    
    @Override
    public String toString() {
        return "MyClass{" +
                "value1=" + value1 +
                ", value2='" + value2 + '\'' +
                '}';
    }
}

上面的例子中,我们在MyClass类中覆盖了toString()方法,返回了一个包含该类成员变量值的字符串。

用处

覆盖toString()方法是很常见的一种做法,用于在调试时输出对象的信息。在使用System.out.println()或者是日志打印工具Log时,使用对象的toString()方法可以方便我们快速输出对象的信息。

同时,toString()方法的确是一个很便捷的方法,我们只需要在覆盖时返回一个包含该对象必要信息的字符串即可,toString()方法的返回结果还可以作为该对象的哈希码值的输出方式。

总结

覆盖toString()方法可以提高代码的可读性,输出对象的信息便于我们观察和调试我们的程序。在重写该方法时,我们也不应该忘了它可以被哈希码等方法使用,因此返回的字符串应该包括尽可能多的必要信息。