美文网首页
提示十二

提示十二

作者: 飞絮搅青冥 | 来源:发表于2022-05-23 22:56 被阅读0次

今天来看提示十二: 始终要覆盖toString

toString默认会返回类名+@+哈希码的无符号十六进制。通用约定是建议所有的子类重写这个方法。作者提议这样做是因为出错的时候可以让系统更容易调试。另外toString方法需要包涵所有值得关注的信息。如果对象比较大,那么不需要所有属性。
使用的时候可以用idea alt + Ins自动生成的方法。

生成toString方法
这里自动生成的程序直接将变量打印出来了,这也是重写toString需要考虑的一个重要问题:是否需要为返回值指定格式。针对很多对象,指定格式都可以提供一个标准的,明确的表达。但是同时也会带来一定的问题,如果这个类被广泛运用,那么指定格式不利于后续代码的修改。另外静态工具类中toString是没有意义的,同样也是用与大多数枚举类。还有和之前hashCode的道理相同,如果父类已经重写了toString,那么在子类中就避免再次覆盖。
我们系统中一般很少去主动覆盖toString,我偶尔写过几次好像和BigDecimal等精度有要求的对象导致。主要感觉一个类的属性可能一直会改变,如果覆盖toString,可能导致后续添加的属性就没有被涉及。而且针对出错查看这一点,可能和我们当前查看问题还是依赖报错信息和主动记录的日志,不太需要对象的toString方法有关。这一点是否合理,是否需要改进,可能还需要考虑。

相关文章

  • 提示十二

    今天来看提示十二: 始终要覆盖toString。 toString默认会返回类名+@+哈希码的无符号十六进制。通用...

  • 温馨提示(十二)

    1、量的积累会导致质的变化。 2、把别人好的经验仔细推敲琢磨运用是一种智慧。 3、柔弱有时胜刚强。 4、内心的宁静...

  • 提示四十二

    提示四十二:lambda 表达式优于匿名类。 匿名类适用于需要函数对象的经典面向对象设计模式,特别是策略模式。 L...

  • 提示二十二

    今天来看提示二十二:接口只用来定义类型。 作者上来就说常量接口模式是对接口的糟糕使用。类实现一个常量接口是没有意义...

  • 提示11-13

    今天继续学习本书的提示11-13。还是先看提示: 提示十一:英语就是另一门编程语言提示十二:说什么和怎么说同样重要...

  • 提示42-43

    今天学习有关不要冲出前灯范围的内容,先看提示: 提示四十二:小步前进——由始至终。提示四十三:避免占卜。 做预测很...

  • 华胥(李承乾×晋阳公主)

    十二国记背景 提示:十二个国家各有十二只麒麟与十二位王。麒麟负责挑选君王治理国家,如果君王失道,麒麟就会生病,而一...

  • 温馨提示(二十二)

    1、适时学会拒绝,不要被帮助的人对你产生依赖。 2、时间久了你会发现,别人并没有因为我的帮助别人而优待我,也没有因...

  • 十二思路提示法

    凡事换一种思路就会有不同的结果,以下十二种思路希望能帮到自己,感恩。 加一加 考虑在这件东西上添加些...

  • 提示五十二:慎用重载

    提示五十二:慎用重载。 重载调用哪个方法是在编译时做出的决定,重写方法是在运行时决定调用哪个方法,所以编译时的类型...

网友评论

      本文标题:提示十二

      本文链接:https://www.haomeiwen.com/subject/dludprtx.html