java----js常用的api

检查不为null的最佳案例

优化前

    public static String getIp(){
        Object ip = getMap().get("ip");
        return ip==null?null:ip.toString();
    }

优化后

return  Optional.ofNullable(getMap().get("ip")).map(Object::toString).orElse(null)

时间函数

获取当前时间: DateUtil.today()

String today=DateUtil.today()

String today = “2024-02-01”;

时间偏移

往前30天

DateTime parseDateUtil.offsetDay(DateUtil.parse(DateUtil.today()), -30)
String  today =DateUtil.formatDate(DateUtil.offsetDay(DateUtil.parse(DateUtil.today()), -45));

字符换时间格式化

DateTime parse = DateUtil.parse(DateUtil.today());
String  today =DateUtil.formatDate(parse)

list转换map

优化前

        Map<String, BotTableDO> linkedHashMap = new LinkedHashMap<>();

        for (BotTableDO botTableDO : botTableDOS) {
            String id = botTableDO.getId();
            linkedHashMap.put(id, botTableDO);
        }

优化后

        Map<String, BotTableDO> linkedHashMap = botTableDOS.stream()
                .collect(Collectors.toMap(BotTableDO::getId, botTableDO -> botTableDO, (existing, replacement) -> existing, LinkedHashMap::new));

map.computeIfAbsent添加list

postIdMap.computeIfAbsent(dingDaykey.getPostId(), k -> new LinkedList<>()).add(dingDaykey);

优化前

DayEntity dayEntity = lkeyMap.get(line);
if (dayEntity == null) {
    dayEntity = new DayEntity();
}
dayEntity.setName(line);

优化后

DayEntity dayEntity = lkeyMap.computeIfAbsent(line, DayEntity::new);

优化前

            List<DataListMxfEntity> data = dayEntity.getData();
            if (data == null) {
                data = new ArrayList<>();
            }

优化后

List<DataListMxfEntity> data = Optional.ofNullable(dayEntity.getData()).orElseGet(ArrayList::new);

优化前

            List<AgvSg03PsPlcItemHistoryDO> agvSg03PsPlcItemHistoryDOS1 = batteryIdMapList.get(batteryId);
            if (agvSg03PsPlcItemHistoryDOS1 == null) {
                agvSg03PsPlcItemHistoryDOS1 = new ArrayList<>();
            }

优化后

            List<AgvSg03PsPlcItemHistoryDO> agvSg03PsPlcItemHistoryDOS1 = Optional.ofNullable(batteryIdMapList.get(batteryId))
                    .orElseGet(ArrayList::new);

相对路径的api

        String fileName = "1.json";
        String currentFilePath = new Object(){}.getClass().getEnclosingClass().getResource("").getPath()+fileName;
        String substring = currentFilePath.replaceAll("target/test-classes", "src/test/java").substring(1);
        String jsonPath = substring;
        System.out.println("jsonPath = " + jsonPath);

控制台输出:
jsonPath = D:/desktop/xiangmu/doc_translation/src/test/java/com/example/dxw/1.json

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值