您的位置:首页 > Web前端

Effective Java 学习笔记 (10)

2010-02-15 13:40 405 查看
java.lang.Object 提供了一个toString()的方法,但实际上这个方法返回的往往不是我们需要的,它返回的是类名加上“@”加上十六进制的hash值。这显然不是我们想要的,所以必须重载toString函数。

很简单的例子,如下

System.out.println("Failed to connect: " + phoneNumber);

如果不重载,则有

Failed to connect: PhoneNumber@12345B

如果重载,则有

Failed to connect: 0722-90987654

效果是显而易见的。

在重载toString时,类中所有的有意义字段应该都要有输出。

输出时要有一定要是人类可读的字符串,也可以是一种格式,如XML。如果是格式,那么最好能有一个静态方法函数能够解析这种格式并转化对象。但有一点要注意,如果你的类被广泛使用,那么这些格式便不能随便改变,否则会给使用你的类的人带来灾难:他们的代码从此失效。

当然,不管是否使用格式化的输出,都要在文档中说明你的意图。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mutsinghua/archive/2010/01/28/5266309.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: