在Object的toString方法返回的形式是Class的类型加上@加上16进制的hashcode,非常难以理解。最好在自己的类中提供toString方法更好的表述实例的信息,不然别人怎么看得明白呢。
在实际应用中,toString方法应该返回对象中包含的所有令人感兴趣的信息。同时,最好在程序中提供一个相匹配的构造函数或者静态工厂方法,便于程序员在对象和它的字符串表示之间进行来回转换。
在实现toString方法的时候,必须要做出是否在文档中指定返回值的格式的决定。指定格式可以被用来做为一种标准的,无二意性的表达形式,但这样也会 使字符串的表示嵌入到永久数据中,如果以后改变了表达形式,则会影响到系统的代码和数据。不管你是否决定指定格式,都应该在代码中清晰的表明自己的意图。 可在所在的类中为toString返回值中所包含的信息提供一种编程访问途径,用来获取toString方法返回字符串中的信息,避免程序员自己去解析字 符串而导致的错误。