独有工具类

6/1/2022

# 问题与背景

工具类系统中使用了 hutool,但是有些情况他满足不了,所以我们又集合了我们自己的工具类;
具体的工具类在 sa-common项目的 net.lab1024.sa.common.common.util 包;

# 获取当前用户

SmartRequestUtil.java查看代码 (opens new window) 方法:

SmartRequestUtil.getRequestUser();//获取当前请求用户
SmartRequestUtil.getRequestUserId();//获取当前请求用户的用户id
SmartRequestUtil.setRequestUser(...);//设置当前请求用户
SmartRequestUtil.remove();//移除请求用户
1
2
3
4

# Bean复制

javabean之间的复制很频繁,但是性能比较好的应该是 spring的BeanUtils,我们又简单封装了下;
SmartBeanUtil.java查看代码 (opens new window)

SmartBeanUtil.copy(Object source, Class<T> targetClass); //复制对象
SmartBeanUtil.copyProperties(Object source, Object target); //复制bean的属性
SmartBeanUtil.copyList(List<T> source, Class<T> targetClass); //复制list
1
2
3

# 字符串

hutool中有字符串工具类,但是还是少,可以看下我们的SmartStringUtil

Set<String> splitConvertToSet(String str, String split);  //分割字符串转为 Int Set
List<String> splitConvertToList(String str, String split); //分割字符串转为 Int List

与此之外还有转为  LongByteDouble 等等其他类型的 SetListArray
1
2
3
4

# 枚举

在java特性中,我们用了BaseEnum接口解决枚举的问题,具体可以看 SmartBaseEnum.java查看代码 (opens new window)

// 校验参数与枚举类比较是否合法
boolean checkEnum(Object value, Class<? extends BaseEnum> enumClass) ;

// 创建一个具有唯一array值的数组,每个值不包含在其他给定的数组中。
List<Object> differenceValueList(Class<? extends BaseEnum> enumClass, T... exclude);

// 获取枚举类的说明 value : info 的形式
String getEnumDesc(Class<? extends BaseEnum> enumClass) ;

// 获取与参数相匹配的枚举类实例的
String getEnumDescByValue(Object value, Class<? extends BaseEnum> enumClass);

等等还有其他很好用的方法
1
2
3
4
5
6
7
8
9
10
11
12
13

# BigDecimal

SmartBigDecimalUtil.java查看代码 (opens new window) 关于小数计算的: 加减乘除 方式方法;


# 联系我们

1024创新实验室-主任:卓大 (opens new window),混迹于各个技术圈,研究过计算机,熟悉点 java,略懂点前端。
1024创新实验室(河南·洛阳) (opens new window) 致力于成为中原领先、国内一流的技术团队,以技术创新为驱动,合作各类项目。

加 主任 “卓大” 微信
拉你入群,一起学习
关注 “小镇程序员”
分享代码与生活、技术与赚钱
请 “1024创新实验室” 喝咖啡
支持我们的开源与分享

告白气球 (钢琴版)
JESSE T