java pojo属性,java中的POJO类属性建议使用包装数据类型

博客讨论了在Java中,POJO类属性使用包装类型而非基本类型的原因。包装类型允许为null,能表示未赋值或远程调用失败等状态,避免错误的默认值。例如,当SQL查询无结果时,包装类型可以避免空指针异常。同时,文章指出,虽然包装类型可能导致使用时需要处理更多空值问题,但全面使用包装类型有助于预防潜在错误。
摘要由CSDN通过智能技术生成

1、说明

POJO 类属性没有初值是提醒使用者在需要使用时,必须自己显式地进行赋值,任何NPE(NullPointerException,空指针异常) 问题,或者入库检查,都由使用者来保证。

2、举例说明

正例:

(1)所有的sql使用的默认类型都是null,如果你把POJO中的映射属性类型写为基本类型,当查找不到记录的时候,返回null赋给基本类型就会出错 ;

(2)包装类型都可以相应的转化为基本类型,如果你设置为基本类型比如int的话,它默认初始化为0,但0本身就代表着一种含义,如果为null的话,既好理解,也可以方便开发人员转化!而且很多xml配置中默认都是null。

(3)简单来说就是我们如果自定义了一个Student类,其中有一个属性是成绩score,如果用Integer而不用int定义,一次考试,学生可能没考,值是null,也可能考了,但考了0分,值是0,这两个表达的状态明显不一样.

反例:

(1)比如显示成交总额涨跌情况,即正负 x%,x 为基本数据类型,调用的 RPC 服务,调用不成功时,返回的是默认值,页面显示:0%,这是不合理的,应该显示成中划线-。所以包装数据类型的 null 值,能够表示额外的信息,如:远程调用失败,异常退出。

(2)映射主键的话,应该使用包装类,但是如果是一般的字段,用包装类未必方便是否有必要在映射普通字段的时候也使用包装类? 如果用的话,那么在使用POJO的时候会比较麻烦,还需要考虑null的问题。

个人建议全部用包装数据类型,避免实际编程过程遇到的各种奇葩问题,但需要注意对空值的考虑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值