开发中常用的工具类

2022-08-27  本文已影响0人  power杏迪

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

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

上一篇 下一篇

猜你喜欢

热点阅读