Effective Java之总是要改写toString
来源:互联网 发布:怎样学好plc编程 编辑:程序博客网 时间:2024/05/17 02:24
Object的toString方法
虽然Object提供了toString方法的一个实现,但是,它返回的内容并不是类的用户所期待的,比如,我们定义类,
public class Point { private int x; private int y; public Point(int x, int y) { super(); this.x = x; this.y = y; } public static void main(String[] args) { Point point = new Point(2, 3); System.out.println(point); }}
运行,我们可以看到,结果是
Point@659e0bfd
这个结果并不是我们需要的,因为这并没有直观的代表了point的信息,这是因为,Object的toString方法,返回的是类名和实例散列值的无符号16进制表示。
如何改写
toString的约定指出,返回的字符串应该是一个“简洁的,但信息丰富,并且易于阅读的表达形式”。
虽然遵守toString约定并不像遵守equals和hasdCode那么重要,但是,提供一个好的toString,可以使一个类使用起来更加愉快。
实际应用中,toString应该返回对象中包含的所有令人感兴趣的内容。比如,Point类,我们感兴趣的是其x和y的值,那么我们可以这样改写toString方法,
public String toString() { // TODO Auto-generated method stub return "Point x: " + this.x + ";y: " + this.y; }
然后在代码中,我们就可以得到我们期望得到的内容。
Point x: 2;y: 3
0 0
- Effective Java之总是要改写toString
- 总是要改写toString
- 第9条:总是要改写toString
- Effective Java——Item8:改写equals的时候总是要改写hashCode
- Effective Java Item10-总是覆盖toString方法
- Effective Java之改写equals时总要改写hashCode
- effective java(10) 之始终要覆盖toString
- Effective C# Item5:总是提供ToString()方法
- Effective Java (10) 始终要覆盖toString
- Effective Java读书笔记-始终要覆盖toString
- 改写equals时总是要改写hashCode
- Effective Java笔记之改写equals的通用约定
- Java性能优化(8):改写equals时总是要改写hashCode
- Java性能优化(9):改写toString
- 【第8条】改写equals时总是要改写hashCode
- 第8条:改写equals时总是要改写hashCode
- Effective C#之5:Always Provide ToString()
- 【Effective Java】Ch3_Methods:Item10_始终重写toString()
- Python多线程进行rpm包编译
- 第十五周实践项目3—B-树的基本操作
- 使用Memory Analyzer tool(MAT)分析内存泄漏(二)
- PHP入门
- 获取第三方图片
- Effective Java之总是要改写toString
- 深度卷积网络CCN与图像语义分割
- UIScrollView的常用属性【UI界面的穿透效果】
- android SoundPool播放音效(二)
- 几道很有趣的面试题
- 硬盘物理结构
- JavaEE_Mybatis_SpringMVC_框架整合_lesson3_框架整合+测试用例,数据库到前台的开发流程
- 日历类
- 利用运行时进行控制器之间的跳转