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
很简单的例子,如下
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
相关文章推荐
- Effective Java-学习笔记(10-11章)
- Effective Java 学习笔记 (10)
- 【Java学习笔记】10.继承、抽象类、接口
- 【10-26】java调试技术学习笔记
- effective java 学习笔记(二)
- Java基础班学习笔记(10)
- 黑马程序员 Java基础学习笔记10 内部类
- Effective Java 学习笔记 (六)
- effective Java 学习笔记 (一)
- Java:Effective Java 学习笔记(第49条:基本类型优先于装箱基本类型)
- 黑马程序员之java学习笔记10
- Effective Java 学习笔记(13)
- java 交通灯 黑马程序员学习笔记(10)
- Effective Java 学习笔记(15)
- Effective Java 学习笔记(22)
- Effective Java 学习笔记(5)
- Effective Java学习笔记:复合优先于继承
- Java学习笔记---10.面向对象编程05-面向对象程序的设计步骤
- Effective Java 学习笔记----第7章 通用程序设计
- Effective Java 学习笔记(1)