POJO类中布尔类型属性的定义与命名

    科技2022-07-10  120

    阿里Java开发手册中强制规定:

    而不类型的变量名不要使用isXxx的格式。因为布尔类型属性的getter方法与其他类型的不一样,是isSuccess(),如果在变量名之前加上is的话,属性名与方法名就重名,就可能会导致在反序列化时就找不到名为success的属性。

    布尔类型的属性应使用包装类型而不是基本数据类型。因为当接收远程调用的数据时,如果属性布尔值为null,而属性的类型又为基本数据类型,则会进行自动拆箱从而导致NPE异常。由于包装类型的默认值是null,基本类型的默认值是false,当调用服务失败时,null可以提供额外的信息表示发生了异常,而false可能被误以为调用成功的真实数据就是false。这一点同样也适用于POJO类中其他类型(整型、浮点型)的属性。

    Processed: 0.012, SQL: 8