在规范中是否有任何涉及以"is"开头的方法的参考,而方法名称的后缀是属性名称(类似于Java Bean的getter/setter方法)?
例如:
public boolean isConditionTrue() {
...
...
}
private boolean conditionTrue;
谢谢!
在规范中是否有任何涉及以"is"开头的方法的参考,而方法名称的后缀是属性名称(类似于Java Bean的getter/setter方法)?
例如:
public boolean isConditionTrue() {
...
...
}
private boolean conditionTrue;
谢谢!
这是 Java 命名惯例,
如果方法返回一个布尔值,使用
is
或has
作为方法名称的前缀。例如,对于返回true
或false
值的方法,使用isOverdrawn
或hasCreditLeft
。避免在布尔方法名称中使用单词not
,使用!
运算符代替。例如,使用!isOverdrawn
而不是isNotOverdrawn
。
另请参阅:
根据 Java 语言规范,
用于测试对象的布尔条件
V
的方法应该命名为isV
。例如,Thread
类的方法isInterrupted
。
该方法仅适用于基本布尔类型。以下摘自规范:
8.3.2布尔属性 此外,对于布尔属性,我们允许getter方法匹配以下模式: public boolean is(); 这个“is”方法可以取代“get”方法,也可以在“get”方法之外提供。 无论哪种情况,在布尔属性的“is”方法存在时,我们都将使用“is”方法来读取属性值。 一个例子布尔属性可能是: public boolean isMarsupial(); public void setMarsupial(boolean m);
注意,如果您要与JSTL标签(使用${object.xxx}
语法)一起使用isXxx() : Boolean
函数,则需要注意。它们不会识别它,你必须将其修改为getXxx() : Boolean
。
@AssertTrue public boolean isConditionTrue() { return false; }
,JSP中有:<form:errors path="conditionTrue" cssClass="error" />
。然而,我没有看到“error”消息,请问为什么?(该bean的其他属性确实显示错误消息) - raptprivate boolean conditionTrue;
但是正如我所说,我没有收到错误消息。无论如何,我刚刚为此提出了一个新问题。 - rapt“is”是对于布尔型变量的访问器方法的前缀。
这是用于布尔数据类型的惯例,而“get / set”则是其他类型的惯例。
is
应该在几乎每个返回布尔值的函数中使用,而不仅仅是访问器。 - Mikita Belahlazau