Java:如何命名布尔属性
我只是在Web应用程序中有一点惊喜,我在.jsp页面中使用EL。
我添加了一个布尔属性并挠了挠头,因为我将布尔值命名为“isDynamic”,所以我可以这样写:
<c:if test="${page.isDynamic}">
...
</c:if>
我发现这比以下更容易阅读:
<c:if test="${page.dynamic}">
...
</c:if>
但是,.jsp无法编译,错误如下:
javax.el.PropertyNotFoundException: Property 'isDynamic' not found on type com...
事实证明,在生成 getter 时,我的 IDE(我花了一些时间才注意到它)生成了一个名为:
isDynamic()
而不是:
getIsDynamic()
一旦我手动将isDynamic()替换为getIsDynamic(),一切都很好。
所以我在这里有两个问题:
以“is”开头布尔属性的名称不好吗?
无论它是否糟糕,IntelliJ不是在这里犯了一个错误,自动生成一个名为isDynamic而不是getIsDynamic的方法吗?