在其中一个规范中是否有对以“is”开头的方法的引用,而方法名称的后缀是属性的名称(类似于Java bean的getter / setter方法)?
例如:
public boolean isConditionTrue() {
...
...
}
private boolean conditionTrue;
谢谢!
答案 0 :(得分:24)
这是一个Java命名约定,
如果方法返回
boolean
值,请使用is
或has
作为前缀 方法名称。例如,使用isOverdrawn
或hasCreditLeft
返回true
或false
值的方法。避免使用这个词not
方法名称中的boolean
代替使用!
运算符。对于 例如,使用!isOverdrawn
代替isNotOverdrawn
。
另见:
根据Java语言规范,
测试关于对象的
boolean
条件V
的方法应该是 名为isV
。一个例子是类isInterrupted
的方法Thread
。
答案 1 :(得分:9)
仅对原始布尔值有效。以下摘自the spec:
8.3.2布尔属性 另外,对于布尔属性,我们允许getter方法匹配模式: public boolean是(); 可以提供这种“是”方法而不是“获得”方法 od,或者除了“get”方法之外还可以提供。 在任何一种情况下,如果布尔属性存在“is”方法,那么我们将 使用“is”方法读取属性值。 布尔属性的示例可能是: public boolean isMarsupial(); public void setMarsupial(boolean m);
如果要将它们与JSTL标记(使用isXxx() : Boolean
语法)结合使用,请注意使用${object.xxx}
函数。他们不会选择它,你必须将其修改为getXxx() : Boolean
。
答案 2 :(得分:6)
is
boolean
类型实例变量的访问器方法前缀boolean
。
这是get/set
数据类型的惯例,而convention
是其他类型的{{1}}。