Java面向对象设计 – Java Object.toString方法
对象的字符串表示应以可读格式包含有关对象状态的足够信息。
Object类的toString()方法表示字符串中类的对象。
Object类提供了toString()方法的默认实现。它返回一个以下格式的字符串:
<fully qualified class name>@<hash code of object in hexadecimal>
例子
考虑下面的代码及其输出。您可能会得到不同的输出。
public class Main{ public static void main(String[] argv){ Object obj = new Object(); String objStr = obj.toString(); System.out.println(objStr); } }
上面的代码生成以下结果。
例2
以下代码显示了如何创建自己的toString方法。
public class Main{ public static void main(String[] argv){ MyClass obj = new MyClass(123); String objStr = obj.toString(); System.out.println(objStr); } } class MyClass { private int value; public MyClass(int value) { this.value = value; } public void setValue(int value) { this.value = value; } public int getValue() { return value; } /* override toString() method of the Object class */ public String toString() { // Return the stored value as a string String str = String.valueOf(this.value); return str; } }
上面的代码生成以下结果。
注意
您需要确保它被声明为public,它的返回类型是String,并且它不接受任何参数。
类的toString()方法非常重要。当需要对象的字符串表示时,Java会自动调用toString()方法。
有两种情况值得一提:
当你连接一个字符串和一个对象
String str = "Hello" + new Point(10, 20);
Java在Point对象上调用toString()方法,并将返回的值连接到“Hello”字符串。
上述语句与以下语句相同:
String str = "Hello" + new Point(10, 20).toString();