pojo
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的问题。
个人建议全部用包装数据类型,避免实际编程过程遇到的各种奇葩问题,但需要注意对空值的考虑。
相关阅读
compareTo方法是比较简单的,我们可以直接看其源码:源码如下:public int compareTo(String anotherString) { int len1 = va
图(Graph)——非线性数据结构,现实的图结构模型有通信网络,交通网络,人际关系网络等,图结构的组织形式比树结构更为复杂,因此,图结构对存
java.lang.StringIndexOutOfBoundsException: String
字符串截取下标越界 出错代码 @GetMapping("/edit") //@RequiresPermissions("erp:enquirySheet:edit") public String
使用Java生成的ZIP压缩包解压时出现不可预料的压缩文件末端的解决方案 问题描述: 如下图所示,在解压Java程序生成的ZIP压缩包时出
pdf 电子版书籍, 百度云盘:[JavaScript权威指南(第6版)(中文版)] 提取密码:b0tf