2023/08/30 17:45:36
ES6 声明字符串的方式:
1、data
2、' data '
3、" data "
2023/08/30 17:45:23
mybatis-plus 默认字段更新策略默认跟随全局策略:FieldStrategy.DEFAULT
mybatis-plus 全局默认策略为:FieldStrategy.NOT_NULL
空值更新处理:
1、字段注解@TableField(updateStrategy = FieldStrategy.IGNORED)
2023/08/30 17:44:53
lambda 表达式中使用的变量应为 final 或有效 final
今天开发的时候,需要对一个list进行循环操作一个值,使用的是java8的lambda表达式的形式进行操作,编译的时候提示【lambda 表达式中使用的变量应为 final 或有效 final】
原因是我在同一时间内操作同一变量并且改变值,这会导致计算的结果不准确
根据idea的提示让我把原有的int类型的变量转为AtomicInteger原子类型
修改前:
int useNum = 0;
detailList.parallelStream().forEach(item -> {
BeanUtils.copyProperties(apply, item);
useNum += item.getQuantity();
});
修改后:
AtomicInteger useNum = new AtomicInteger();
detailList.parallelStream().forEach(item -> {
BeanUtils.copyProperties(apply, item);
useNum.addAndGet(item.getQuantity());
});
2023/08/30 17:43:37
List 集合异常:all elements are null
ArrayList 允许添加空元素,当查询一个字段的时候,可以查询到相应的记录,但是对应的字段值为空,因此会返回一个由空元素组成的list。
解决办法有两种:
第一种,从源头解决问题,在对应的查询sql中加入is not null作为查询条件
第二种,查询出来的list后,使用list.removeAll(Collections.singleton(null));移除所有空的元素。
2023/08/30 17:42:38
null.equals()引起空指针异常
2023/08/30 17:42:23
位运算取模和取模运算效率对比:
1、位运算是直接使用二进制进行运算
2、取模运算需要转换十进制再进行运算
3、a % (2n) 等价于 a&(2n-1)
2023/08/30 17:41:18
npm升级命令:npm install -g npm
2023/08/30 17:39:32
使用echarts图表插件需要定义div的宽高,否则图表不会显示