zoukankan      html  css  js  c++  java
  • 第10条:始终要覆盖toString

    虽然java.lang.Object提供了toString实现,如下

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

    它包含类名称,一个"@"符号,以及散列码的无符号十六进制表示法。但这一般不是我们所希望看到的。因此建议所有子类覆盖这个toString方法。提供好的toString实现可以使类用起来更加舒适,当对象被传递给println、printf、字符串联操作符(+)以及assert或者被调试器打印出来时,toString方法会被自动调用。

    两个建议:

      1.无论是否决定指定格式,都应该在文档中明确地表明意图,通过文档注释来说明。

      2.无论是否指定格式,都为toString返回值中包含的所有信息,提供一种编程式的访问途径,如使用getter方法提供。否则程序员必须去解析字符串,而这会导致大量不必要的工作量和增加程序出错的可能性。

    作者:哀&RT
    出处:博客园哀&RT的技术博客--http://www.cnblogs.com/Tony-Anne/
    您的支持是对博主最大的鼓励,感谢您的认真阅读。
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Lua/AHK socket tcp telnet
    Lua wait sleep
    Lua io.open read write seek flush setvbuf append
    stream file 文件 数据流
    AHK通讯 CMD Lua IPC
    零散 Lua/Excel/''/iup
    Windows Program File(x86) 路径 环境变量
    条件正则过滤筛选 V2
    条件正则过滤筛选 V1
    python导包出现的问题
  • 原文地址:https://www.cnblogs.com/Tony-Anne/p/6729821.html
Copyright © 2011-2022 走看看