美文网首页
开发中常用的工具类

开发中常用的工具类

作者: power杏迪 | 来源:发表于2022-08-27 01:16 被阅读0次

    此工具类是依据个人开发工程中常用到的处理方案做的汇总,目前还在更新迭代当中,文档还没书写,先简单的放一些初始版本,会持续更新,完善文档。

    StringUtils

    核心功能: 字符串分割,字符串判空,字符串转换list等。

    示例:
    字符判空 isEmpty(),字符串分割成数组 stringToList()

    
      //结果 = true
      String a = "";
      System.out.println(StringUtils.isEmpty(a));
    
      //结果 [1,2,3,4]
      String str = "1,2,3,4";
      System.out.println(StringUtils.stringToList(str,","));
    
    

    工具类地址:StringUtils地址

    DateTimeUtils

    核心功能: 格式化日期,常见的类型转换locaDateTime,localDate,locaTime,

    日期加减,大小比较等。

    需要注意的是:DateFormat 总结了常用的 Format样式。

    示例:
    格式化 formatLocalDateTimeToString(), formatStringToLocalDate()

    //结果 = 2023-08-30 15:29:11
    LocalDateTime time = LocalDateTime.now();
    System.out.println(DateTimeUtils.formatLocalDateTimeToString(time, DateFormat.yyyy_MM_dd_HH_mm_ss));
    
    //结果 = 2023-08-30
    LocalDate dateTime = LocalDate.now();
    System.out.println(DateTimeUtils.formatLocalDateToString(dateTime, 
    DateFormat.yyyy_MM_dd));
    
    //结果 = 01:01:01
    LocalTime localTime = LocalTime.of(1,1,1);    
    System.out.println(DateTimeUtils.formatLocalTimeToString(localTime,DateFormat.hh_mm_ss));
    
    

    工具类地址:DateTimeUtils

    格式化总结地址:日期format样式总结

    SplitTaskUtils

    核心功能: 拆分任务大小,将大批量任务拆分成小块运行。

    总结了几种不同的做法:

    1.java手写

    2.stream处理

    3.guava处理

    可以学习对比一下几种的差别。

    示例:
    拆分任务大小 getStaticTaskList(), getStaticStreamTaskList()

    List<Integer> arrays = Arrays.asList(1,2,3,4,5);
    
    //调用静态方法 分割任务大小 结果 =  [[1, 2], [3, 4], [5]]
    List<List<Integer>> result  = SplitTaskUtils.getStaticGuavaTaskList(arrays,2);
    System.out.println(result);
    
    //自己构建SplitTaskUtils对象 结果 = [[1, 2], [3, 4], [5]]
    SplitTaskUtils<Integer> splitTaskUtils = new SplitTaskUtils<>(2,arrays.size());
    List<List<Integer>> re = splitTaskUtils.getGuavaTaskList(arrays);
    System.out.println(re);
    
    //分割之后返回map 结果 = {0=[1, 2], 1=[3, 4], 2=[5]}
    Map<Integer, List<Integer>> map = splitTaskUtils.getTaskMap(arrays);
    System.out.println(map);
    

    工具地址: SplitTaskUtils

    阅读原文档:guava文档地址

    DynamicExpressionUtils

    核心功能: 依据表达式处理得到相应结果。

    示例:
    依据表达式计算 executeInteger(), executeBigDecimalRound()

    
    Map<String, Integer> env = new HashMap<>();
    
    env.add("a",1);
    
    env.add("b",1);
    
    DynamicExpressionUtils.executeInteger("a+b",env)
    
    //结果 1+1 = 2
    

    工具地址: DynamicExpressionUtils

    此工具类是对 Aviator 做的一个简单上手封装。

    阅读原文档:Aviator

    MagicValuePool

    核心功能: 仅仅是对特殊字符做了一个总结,对开发过程使用的一个总结。

    示例:

    public interface MagicValuePool {
    
         String AMPERSAND = "&";
         String AND = "and";
         String AT = "@";
         String ASTERISK = "*";
         String STAR = "*";
         String BACK_SLASH = "\\";
         String COLON = ":";
         String COMMA = ",";
    
    }
    

    魔法值特殊字符地址:MagicValuePool

    相关文章

      网友评论

          本文标题:开发中常用的工具类

          本文链接:https://www.haomeiwen.com/subject/cjeqnrtx.html