10. 【对于所有对象都通用的方法】尽量覆盖toString方法
2016-07-13 21:09
351 查看
本文是《Effective Java》读书笔记第10条,其中内容可能会结合实际应用情况或参考其他资料进行补充或调整。
这一条其实没有什么可说的。
我们都知道,Object默认有
另外再考虑一种情况,就是你的类的对象在Map这样的集合中,那么Map对象在使用
具体例子就不用给了吧。关于
这一条其实没有什么可说的。
我们都知道,Object默认有
toString方法的实现,但是默认的实现是“类名@散列码的无符号十六进制表示”。就好像别人问你“你在看什么?”,你回答“我在看电影”一样几乎没有什么价值,因为人家想了解的是你在看什么电影。
另外再考虑一种情况,就是你的类的对象在Map这样的集合中,那么Map对象在使用
toString方法后返回“movie1=Movie@3e9548”好还是返回“movie1=Avatar”好呢,答案显而易见。
具体例子就不用给了吧。关于
toString还有一点点要嘱咐的就是,如果你在造轮子,那么最好对
toString方法在注释中关于返回格式做明确的说明,并善意提醒“该返回格式有可能会在以后的版本中发生改变。。。”,因为有可能别人会拿到你的
toString返回结果进行解析,一旦格式有变,人家岂不是要遭殃。当然还要在你的类中对关键域提供类似getter的编程式访问途径,以避免这种情况的出现。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树