自用工具类整理

自动生成数据

uuid&雪花id

private static Long workerId = 1L;
private static Long datacenterId = 1L;
private static Snowflake snowflake = IdUtil.createSnowflake(workerId, datacenterId);

public static String getId(String idType) {
    if (idType.equals("uuid")) {
        UUID uuid = UUID.randomUUID();
        return uuid.toString();
    } else {
        return snowflake.nextIdStr();
    }
}

数据类型转换

主要用以对Map<String, Object>对象的数据转换处理

BigDecimal

public static BigDecimal parseBigDecimal(Object decimalString) {
    if (decimalString == null || "".equals(decimalString) || "0".equals(decimalString) || "0.00".equals(decimalString)) {
        return new BigDecimal("0");
    } else {
        try {
            return new BigDecimal(decimalString.toString());
        } catch (Exception e) {
            return (BigDecimal) decimalString;
        }
    }
}

Date

主要用于LocalDateTime类型字符串转Date格式

public static String localDateTimeStringToDateString(String localDateTime) {
    // 2023-09-06T15:15:04.8651735+08:00
    // 2023-08-10T00:00:00
    if (StringUtils.isNotEmpty(localDateTime) && localDateTime.contains("T")) {
        String dateString = "";
        if (localDateTime.contains(".")) {
            dateString = localDateTime.split("T")[0] + " " + localDateTime.split("T")[1].split("\\.")[0];
        } else {
            dateString = localDateTime.split("T")[0] + " " + localDateTime.split("T")[1];
        }
        return dateString;
    }
    return localDateTime;
}

字符串转集合

public class StringToListUtil {
    // 将传入的s001需处理为json的字符串字段数据转化为json
    public static List<Map<String, String>> toJson(String s) {
        // 创建一个map数组用来保存转换好的数据
        List<Map<String, String>> mapList = new ArrayList<>();
        if ("[]".equals(s)) {
            return mapList;
        }
        // 去掉字符串开头的“[{”和结尾的“}]”
        s = s.substring(2, s.length() - 3);
        // 通过“},{”分割出各个对象
        String[] ss = s.split("},\\{");
        // 处理各个对象
        for (String s1 : ss) {
            // 通过“,”分割出各个对象的各个元素键值
            String[] split = s1.split(",");
            Map<String, String> map = new HashMap<>();
            // 处理各个元素键值
            for (int i = 0; i < split.length; i++) {
                // 去掉开头的“"”,方便之后通过定位“"”来分割属性名和属性值
                split[i] = split[i].substring(1);
                // 通过“"”和“:”分割出属性名、属性值
                try {
                    map.put(split[i].substring(0, split[i].indexOf("\"")), split[i].substring(split[i].indexOf(":") + 1));
                } catch (Exception e) {
//                    e.printStackTrace();
                    System.out.println(e.getMessage());
                }
            }
            // 将当前对象保存到对象数组mapList(所有信息)
            mapList.add(map);
        }
        // 返回
        return mapList;
    }

    // 将传入的格式为{"sql":null,"layout":[]}的
    // s001需处理为json的字符串字段数据转化为json
    public static List<Map<String, String>> toJsonHaveSql(String s) {
        s = s.substring(21, s.length() - 1);
        // 创建一个map数组用来保存转换好的数据
        List<Map<String, String>> mapList = new ArrayList<>();
        // 去掉字符串开头的“[{”和结尾的“}]”
        s = s.substring(2, s.length() - 3);
        // 通过“},{”分割出各个对象
        String[] ss = s.split("},\\{");
        // 处理各个对象
        for (String s1 : ss) {
            // 通过“,”分割出各个对象的各个元素键值
            String[] split = s1.split(",");
            Map<String, String> map = new HashMap<>();
            // 处理各个元素键值
            for (int i = 0; i < split.length; i++) {
                // 去掉开头的“"”,方便之后通过定位“"”来分割属性名和属性值
                split[i] = split[i].substring(1);
                // 通过“"”和“:”分割出属性名、属性值
                map.put(split[i].substring(0, split[i].indexOf("\"")), split[i].substring(split[i].indexOf(":") + 1));
            }
            // 将当前对象保存到对象数组mapList(所有信息)
            mapList.add(map);
        }
        // 返回
        return mapList;
    }
}

.setScale(7, RoundingMode.HALF_UP)
, 7, BigDecimal.ROUND_HALF_UP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值