Eg.
boolean isCurrent = false;
你怎么命名它的getter和setter?
Eg.
boolean isCurrent = false;
你怎么命名它的getter和setter?
当前回答
数据类型Boolean的setter/getter方法和类中的Boolean(对于pojo/实体)之间有一个可标记的点。
对于Boolean和Boolean, setter方法都应该是setXXX(),而getter方法分别是getXXX()和isXXX()
例子:
(a)如果属性定义为布尔值
private Boolean active;
setter/getter方法
public Boolean getCheck() { // getXXX()
return check;
}
public void setCheck(Boolean check) {
this.check = check;
}
(b)如果属性定义为布尔值
private boolean check;
setter/getter方法
public boolean isCheck() { // isXXX()
return check;
}
public void setCheck(boolean check) {
this.check = check;
}
其他回答
Setter: public void setCurrent(boolean val)
Getter: public boolean getCurrent()
对于布尔值,也可以使用
public boolean isCurrent()
假设你有
boolean active;
Accessors方法
public boolean isActive(){return this.active;}
public void setActive(boolean active){this.active = active;}
另请参阅
Java编程/Java Beans Java编程语言的代码约定
数据类型Boolean的setter/getter方法和类中的Boolean(对于pojo/实体)之间有一个可标记的点。
对于Boolean和Boolean, setter方法都应该是setXXX(),而getter方法分别是getXXX()和isXXX()
例子:
(a)如果属性定义为布尔值
private Boolean active;
setter/getter方法
public Boolean getCheck() { // getXXX()
return check;
}
public void setCheck(Boolean check) {
this.check = check;
}
(b)如果属性定义为布尔值
private boolean check;
setter/getter方法
public boolean isCheck() { // isXXX()
return check;
}
public void setCheck(boolean check) {
this.check = check;
}
强烈建议使用形容词来命名布尔字段。如果您使用IntelliJ生成getter和setter,您将发现对于布尔字段current和isCurrent, getter都是isCurrent()。
我们可以看一下IntelliJ社区源代码,它的测试数据显示,无论你的布尔字段名是否以is开头,getter的名字都是以is开头。
class Getter {
boolean foo;
boolean isBar;
boolean hasBaz;
@java.lang.SuppressWarnings("all")
public boolean isFoo() {
return this.foo;
}
@java.lang.SuppressWarnings("all")
public boolean isBar() {
return this.isBar;
}
@java.lang.SuppressWarnings("all")
public boolean isHasBaz() {
return this.hasBaz;
}
}
当你想调用getter时,当你的布尔字段名以is开头时,你会很困惑。此外,当您的同事想要获得您定义的布尔字段的值时,他们将只知道getter的名称而不是字段的名称。在这种情况下,前缀is是不必要的。
这里是另一个例子,当我从数据库检索数据来实例化一个Employee对象时,isRetired的值总是false。因为Java没有找到合适的setter,布尔字段的值总是默认值,比如false,这是不期望的。
class Employee{
private int age;
private boolean isRetired;
...
public boolean setRetired(boolean isRetired){
this.isRetired = isRetired;
}
}
private boolean current;
public void setCurrent(boolean current){
this.current=current;
}
public boolean hasCurrent(){
return this.current;
}