免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1086 | 回复: 0
打印 上一主题 下一主题

关于toString()方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-22 16:31 |只看该作者 |倒序浏览

     虽然java.lang.Objiect已经提供了toString()方法的实现,但是她所返回的字符串通常不是用户所期望看到的,也就是说他在绝大多数情况下的输出的内容并不能满足我们的要求,没有包含我们所需要的一些内容。
     对于这个通用的toString()方法,他所产生的字符串包含三分小部分:类的名字、一个“@”符号以及一个无符号十六进制的数列码。通常的形式为:Base@12b4c9。所以,这麽少的信息肯定不能满足我们的各种复杂需求。
     对于toString()方法,他返回的字符串应该是简洁的,但所包含的信息是非常丰富的,并且很易于阅读,使我们可以非常方便的了解到该实体对象当时的状态。虽然,对于一个实体对象的toString()方法的实现并没有很严格的规定,但是提供一个号的toString()方法的实现,可以使我们在使用这个类时更加的方便。
    当一个对象被传递给print()方法、字符串连接操作符(+)以及assert时,被传递对象的toString()方法将会被自动调用。如果这是提供一个好的toString()方法,那么对于产生一个好的提示信息将会是非常方便的,有利于调适工作的警醒,例如:
  System,out.println("Base:\t"+base);
   这是很多程序员都非常习惯的调试方法,用它输出的base对象的一些信息,如果实现了toString()方法,那么输出的信息的形式可能为:base:【id=1234567】,而如果使用的是默认的toString()方法,那么得到的结果可能是Base:Base@1b2f3d。通过这个信息除了可以判断出该对象不为空外,得不到该对象的任何其他信息,这不是我们想要的结果:
    实现一个对象的toString()方法,最好遵循以下的原则:
  1、toString()方法应该包含所有的令人感兴趣的信息,也就是说包含的内容应该全面,通过输出的内容那能够了解这个对象的所有信息。
    2、要注意一个良好的表现格式,虽然不要求非常完美,输出的信息应该是可读的,能明确的表达你的意图。
3、要采集用通用的发放来实现toString()方法,不要依赖于对象中的一些具体实现,否则你的toString()方法就要遵循业务实现的修改而不断的进行修改。
最后,再一次建议大家在实现对象的时候要实现toString()方法,这样会给编程和调试工作带来很到的建议
      


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93879/showart_2003666.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP