一个boolean属性名以is开头的深坑

java命名规范指出,boolean类型变量命名禁用is开头。

为了通俗易懂,举个例子来看看:

编写一个结果数据集类,用于存放有用的相应信息,其中有一个boolean类型。

@Data
public class ResultVo {  
    private boolean isOk;       
    private String isMan;
    private Integer isPanda;
    private float isBanana;
}

从下图可以看到,在调用该类的set方法时候,布尔类型的方法是省去了is!(get方法也会省去)那么反过来想,我们有时候在HTML页面中使用EL表达式,或者其它“返回值.属性”都是默认调用该属性的get方法。那要正确调用get方法,就得声明调用属性是:把完整的get方法名去掉前面的get,余下的部分首字母小写!(getOk,声明为ok;getIsBanana,声明为isBanana;getIsMan,声明为isMan;getIsPanda,声明为isPanda)。显而易见,只有布尔类型是相冲突的,其它类型即是使用了is为开头,属性名依旧和调用属性是一致的。

 

那么,想要正确调用布尔类型的属性也很简单了。既然它的get/set方法都省去了is,那我们即使开头写了is,也要把它当成没写is,而且,去掉了is后,首字母要小写

最终解:若属性是isOk,前端调用就是 data.ok        若属性是isQueen,前端调用就是 data.queen

依次类推.......

猜你喜欢

转载自blog.csdn.net/m0_57545353/article/details/124071925