setter或getter中的逻辑

时间:2013-07-13 20:59:39

标签: java setter getter getter-setter

我想知道建议在哪里放置if语句之类的逻辑,我应该在setter中还是在getter中?例如,当我尝试在setter中执行此操作时,它无法正常工作:

if ("female".equals(gender)) {
   this.gender = "girl";
}

但是当我在吸气器中这样做时它会起作用,然后我就会回归性别;一切都应该如此。那么为什么这个陈述不适用于二传手呢?

1 个答案:

答案 0 :(得分:2)

没有固定的规则来判断是否最好将逻辑放在gettersetter(或两者都不是)中。你必须根据你的申请来决定。

一般情况下,我建议在getter中执行此操作,因为可能永远不会要求性别,在这种情况下,如果您在设置器中执行此操作,则会浪费很少的处理能力和内存。

此外,逻辑可能会附加到您设置性别时可能不具有相同值的其他字段,而不是您请求时。