Item 10 Always override toString

197 阅读1分钟

上一个item引导我去复习了hash的一些知识。这个item主要是override toString的一个习惯。 Object类里面的函数不多,toString就是其中一个:

    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

这个item讲的是:

  • 提供好的toString实现可以使类使用起来更加pleasant。 println, printf会自动调用toString,比如打印diagnostic message的时候你只需要: System.out.println("Failed to connect: " + phoneNumber);
  • toString方法应该返回方法中包含的所有值得关注的信息。
  • 无论是否决定指定格式,都应该在文档中明确表明你的意图。也就是写好注释。