对象的字符串表示以可读格式包含有关对象状态的信息。
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);
}
}
上面的代码生成以下结果。
java.lang.Object@2a139a55
实例
以下代码显示了如何创建自己的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;
}
}
上面的代码生成以下结果。
123
注:需要确保它被声明为
public
,它的返回类型是String
,并且它不接受任何参数。
类的toString()
方法非常重要。 当需要对象的字符串表示时,Java会自动调用toString()
方法。
有两种情况值得一提:
当连接一个字符串和一个对象时,实例调用的就是
toString()
方法。String str = "Hello" + new Point(10, 20);
Java在
Point
对象上调用toString()
方法,并将返回的值并连接“Hello”
字符串。上述语句与以下语句相同:String str = "Hello" + new Point(10, 20).toString();
上一篇:
Java对象相等比较(Equals)
下一篇:
Java对象克隆