1.Integer封装类不赋值的话默认为null
1.1 Integer判断值是否相等
阿里巴巴的《Java开发手册》中也有相应的规定,规定的内容如下:
所有整型包装类对象之间值的比较,全部使用 equals 方法比较。
说明:对于 Integer var = ? 在 -128 至 127 之间的赋值,Integer 对象是在 IntegerCache.cache 产生, 会复用已有对象,这个区间内的 Integer 值可以直接使用 == 进行判断,但是这个区间之外的所有数据,都 会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用 equals 方法进行判断。
当我们使用 new Integer 时,无论值为多少都不能使用 == 比较
new Integer 方法并没有使用到 IntegerCache,而是直接创建了新对象,因此就不能用 == 比较了
原文链接【https://blog.csdn.net/weixin_39694838/article/details/110714181?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_utm_term~default-1.pc_relevant_default&spm=1001.2101.3001.4242.2&utm_relevant_index=4】
2.StringUtils工具类的isBlank()方法使用说明
在校验一个String类型的变量是否为空时,通常存在3中情况
是否为 null
是否为 “”
是否为空字符串(引号中间有空格) 如: " "。
StringUtils的isBlank()方法可以一次性校验这三种情况,返回值都是true
【原文链接】:https://blog.csdn.net/xiao__jia__jia/article/details/82829016
//下单截止时间
if (null == request.getOrderAdvanceDay()) {
request.setOrderAdvanceDay(0);
}
insurancePackageInfo.setOrderAdvanceDay(request.getOrderAdvanceDay());
if (StringUtils.isBlank(request.getOrderTime())) {
request.setOrderTime("00:00");
}
insurancePackageInfo.setOrderTime(request.getOrderTime());