java开发常用工具类的使用

java开发常用工具类的使用,第1张

java开发常用工具类的使用 java判空工具类
StringUtils.isEmpty(request.getUsername())  //字符串判断是否为空
BeanUtils.copyProperties(request,example);  //拷贝工具类
CollectionUtils.isEmpty();                  //判断list是否为空
Lambda 表达式转list和map的方法以及判断Map是否含有值
//分别转成List和map
XXXSevice.XXX().stream.map(DO::get).conllect(conllectors.tolist);
XXXSevice.XXX().stream.conllect(conllectors.tomMap(DO::get,DO::get));
Map.containsKey(key值)                      //检查map里面包含
//过滤idList
resultList = resultList.stream().filter(item -> supplyInfoIdList.contains(item.getId())).collect(Collectors.toList());
fastJson使用
//fastjson处理
// 实现java对象与Json字符串之间的转化
        // 1. Person对象与json之间的转换
        //1.1 将Person对象转成json
        Person p = new Person(10, "张三");
        Object obj = JSONArray.toJSON(p);
        String json = obj.toString();
        System.out.println("将Person对象转成json:" + json);
        
        //1.2 将json字符串转成Person对象
        Person person = JSONArray.parseObject(json, Person.class);
        System.out.println("person.getName():" + person.getName());
Optional使用
return Optional.ofNullable(service.A()).orElse(service.B())
如果service.A()返回非null,最终结果是service.A(),然而service.B()这个方法也被执行了。
这样肯定就不对了,如果service.B()中还有插入数据库或者RPC这种 *** 作,问题就大了。
刚开始还以为是什么执行顺序问题,区别是orElse(T)无论前面Optional容器是null还是non-null,都会执行orElse里的方法,orElseGet(Supplier)并不会.
如果service无异常抛出的情况下,Optional使用orElse或者orElseGet的返回结果都是一样的
BigDecimal的 *** 作
BigDecimal bignum1 = new BigDecimal("10");  
BigDecimal bignum2 = new BigDecimal("5");  
BigDecimal bignum3 = null;  
//加法  
bignum3 =  bignum1.add(bignum2);       
System.out.println("和 是:" + bignum3);  
//减法  
bignum3 = bignum1.subtract(bignum2);  
System.out.println("差  是:" + bignum3);  
//乘法  
bignum3 = bignum1.multiply(bignum2);  
System.out.println("积  是:" + bignum3);  
//除法  
bignum3 = bignum1.divide(bignum2);  
System.out.println("商  是:" + bignum3); 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4670260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存