【发布时间】:2016-12-06 12:38:31
【问题描述】:
以下哪个更好?它甚至是基于意见的还是有任何相关的差异?在某些情况下可以选择其中一个吗?
public class MyClass {
private Integer myField;
public void setMyField(Integer myField) {
this.myField = myField;
}
public Integer getMyField() {
return myField;
}
}
我需要一种方法来检查是否允许某些内容。拜托,我们不要谈论这个代码示例的意义。这只是一个小例子。
实施 1
public boolean isAllowed() {
MyEnum.ALLOWED.getInt().equals(getMyField());
}
实施 2
public boolean isAllowed() {
MyEnum.ALLOWED.getInt().equals(myField);
}
编辑: 此帖子在链接的问题中没有答案(请参阅初始帖子的 cmets)
【问题讨论】:
-
就含义而言没有区别。这更多的是一个观点问题。我会选择实施 1,因为您一定会获得想要测试的值,例如,如果您有任何类型的转码
-
@RafiduzzamanSonnet 关于使用 其他类的 getter 和 setter 的公认和投票最多的答案。这里我们有一个在实现类本身中使用值的例子,已经通过定义知道它的存在和实现。
-
@RealSkeptic 这是同一个概念。否则就不需要 getter/setter 或 public 修饰符
-
@MuratK。对 getter/setter 的需求是针对其他类的,而这种需求是无关紧要的。这里的问题是是否将该 getter/setter 也用于 internal 用途或直接使用该字段。
标签: java oop coding-style