Object类提供的toString()方法如下:
public String toString()
{
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
如果我们直接打印一个对象,就会调用这个对象的toString()方法,如果我们没有为该类覆盖toString()方法,
我们可以看出toString()方法,返回的是 “类名@散列值的十六进制”。
toString()方法的通用约定是:返回当前对象“简洁,但信息丰富,并且易于阅读的表达形式”。
一个对象的toString()方法在以下情况下会被自动调用:
println(),printf(), 字符串联操作符(+),assert ,被调试器打印出来时。
在实际应用中,toString()方法应该返回对象中包含的所有值得关注的信息。
对于一些值类,提供了toString()方法,把值类型输出为String类型,也应该提供一个相匹配的静态工厂方法或者构造器,将值的String类型转化为
值的本身类型。Java平台类库中的许多值类都采用了这种做法,如BigInteger,BigDecimal和绝大多数的基本类型包装类。这样就方便了程序员在对象类型
和字符串类型之间转化。