![]() |
1
9
使用吸气剂,如果你有! 也许,有一天您更改了代码,这样getter不仅可以返回字段值,还可以做更多的事情,或者以不同的方式创建结果。那么你会更高兴你一直使用吸气剂。 但和往常一样,我的建议中也有一些摘录—您对toString()方法的期望是什么?如果您允许重写getter方法,您希望它使用classes字段还是-maybe override-getter方法的结果。 所以,和往常一样,这取决于,但是我会使用getter,除非我有充分的理由直接访问这些字段。 |
![]() |
2
3
如果在返回字段值的基础上提供任何额外的逻辑(如大写字符串或类似的东西),那么最好使用访问器方法。如果您的类被设计为被扩展,那么我倾向于使用访问器,因为它们可能被重写。 |
![]() |
3
2
把吸气剂用在绳子上是一种过分的杀伤力。而且不应该将ToString用于非调试目的。 |
![]() |
4
2
我更喜欢直接访问私有变量的方法。吸气剂方法会增加杂波。 |
![]() |
5
1
你有吗? 原因 使用getter方法?他们有什么有趣的事吗? …或者您只是使用它们公开内部数据,而实际上不公开字段本身(穷人的封装)? 如果是前者,那么当然也要在这里使用它们!如果是后者,那就没关系了——你可能无论如何都想使用它们, 以防万一 你曾经给过他们一个真正的目的,但如果不是这样,那就不会有什么区别。 |
![]() |
6
0
使用
|
![]() |
7
0
如果您的类具有字段的getter和setter,那么无论您是使用getter和setter还是直接访问字段,您都应该在该类的整个实现过程中保持一致。混合抽象层次通常没有意义。否则,你怎么能合理地在某些地方而不是在其他地方使用它们呢?此外,如果getter的实现方式发生了变化,那么最终可能会得到一些微妙的包。toString()是实现的一部分,因此它也应该是一致的。 在性能方面,这并不重要——无论如何,您的琐碎的getter和setter应该是最终的方法,所以它们应该是内联的。如果它们不是最终的,您应该问自己为什么,并且可能避免直接访问字段,除非这确实是您要做的。 |
![]() |
cazicss · 对象如何。ToString()处理装箱值类型? 7 年前 |
![]() |
M A. · toString()方法不是从其超类继承的 8 年前 |
![]() |
nitish712 · Instant toString前缀加 8 年前 |
|
Bob D · toString和布尔值[重复] 9 年前 |
![]() |
Hadh · 使用toString方法在java中仅显示日期 9 年前 |
![]() |
Costin · Java 8中MoreObjects的替代方案 9 年前 |
|
user4833210 · toString()表示输出 9 年前 |
![]() |
Goldengirl · 为什么我的程序不打印它接收的数据而不是地址? 9 年前 |