简介

mica-core 中封装了大量的常用工具类,大部分都是基于Spring core进行扩展,避免重复造轮子,减少 bug

背景

今天我们介绍的是 $ 工具集快捷方式。在 jquery 中我们可以使用 $ 进行各式各样的操作,而不用去记忆各种的工具类,能大幅度提高我们的开发效率。在工作中经常有同事问我,各种工具类有没有。受到启发,将工具类作为快捷方式的形式抽取到 $ 中,减少学习开发成本。

工具方法列表

类名:net.dreamlu.mica.core.utils.$

断言,必须不能为 null

  1. $.requireNotNull(Object obj);

断言,必须不能为 null

  1. $.requireNotNull(Object obj, String message);

断言,必须不能为 null

  1. $.requireNotNull(Object obj, Supplier messageSupplier);

判断对象是否为null

  1. $.isNull(Object obj);

判断对象是否 not null

  1. $.notNull(Object obj);

首字母变小写

  1. $.firstCharToLower(String str);

首字母变大写

  1. $.firstCharToUpper(String str);

判断是否为空字符串

  1. $.isBlank(CharSequence cs);

判断不为空字符串

  1. $.isNotBlank(CharSequence cs);

判断是否有任意一个 空字符串

  1. $.isAnyBlank(CharSequence... css);

判断是否全为非空字符串

  1. $.isNoneBlank(CharSequence... css);

判断对象是数组

  1. $.isArray(Object obj);

判断空对象 object、map、list、set、字符串、数组

  1. $.isEmpty(Object obj);

对象不为空 object、map、list、set、字符串、数组

  1. $.isNotEmpty(Object obj);

判断数组为空

  1. $.isEmpty(Object array);

判断数组不为空

  1. $.isNotEmpty(Object[] array);

将字符串中特定模式的字符转换成map中对应的值

  1. $.format(String message, Map<String, Object> params);

同 log 格式的 format 规则

  1. $.format(String message, Object... arguments);

安全的 equals

  1. $.equalsSafe(Object o1, Object o2);

判断数组中是否包含元素

  1. $.contains(T[] array, T element);

判断迭代器中是否包含元素

  1. $.contains(Iterator<?> iterator, Object element);

判断枚举是否包含该元素

  1. $.contains(Enumeration<?> enumeration, Object element);

不可变 Set

  1. $.ofImmutableSet(E... es);

不可变 List

  1. $.ofImmutableList(E... es);

判断一个字符串是否是数字

  1. $.isNumeric(CharSequence cs);

字符串转 int,为空则返回0

  1. $.toInt(String str);

字符串转 int,为空则返回默认值

  1. $.toInt(String str, int defaultValue);

字符串转 long,为空则返回0

  1. $.toLong(String str);

字符串转 long,为空则返回默认值

  1. $.toLong(String str, long defaultValue);

将 long 转短字符串 为 62 进制

  1. $.to62String(long num);

将集合拼接成字符串,默认使用,拼接

  1. $.join(Collection<?> coll);

将集合拼接成字符串,默认指定分隔符

  1. $.join(Collection<?> coll, String delim);

将数组拼接成字符串,默认使用,拼接

  1. $.join(Object[] arr);

将数组拼接成字符串,默认指定分隔符

  1. $.join(Object[] arr, String delim);

分割 字符串

  1. $.split(String str, String delimiter);

分割 字符串 删除常见 空白符

  1. $.splitTrim(String str, String delimiter);

字符串是否符合指定的 表达式

  1. $.simpleMatch(String pattern, String str);

字符串是否符合指定的 表达式

  1. $.simpleMatch(String[] patterns, String str);

生成uuid

  1. $.getUUID();

转义HTML用于安全过滤

  1. $.escapeHtml(String html);

随机数生成

  1. $.random(int count);

随机数生成

  1. $.random(int count, RandomType randomType);

字符串序列化成 md5

  1. $.md5Hex(String data);

数组序列化成 md5

  1. $.md5Hex(byte[] bytes);

sha1Hex

  1. $.sha1Hex(String data);

sha1Hex

  1. $.sha1Hex(byte[] bytes);

SHA224Hex

  1. $.sha224Hex(String data);

SHA224Hex

  1. $.sha224Hex(byte[] bytes);

sha256Hex

  1. $.sha256Hex(String data);

sha256Hex

  1. $.sha256Hex(byte[] bytes);

sha384Hex

  1. $.sha384Hex(String data);

sha384Hex

  1. $.sha384Hex(byte[] bytes);

sha512Hex

  1. $.sha512Hex(String data);

sha512Hex

  1. $.sha512Hex(byte[] bytes);

hmacMd5 Hex

  1. $.hmacMd5Hex(String data, String key);

hmacMd5 Hex

  1. $.hmacMd5Hex(byte[] bytes, String key);

hmacSha1 Hex

  1. $.hmacSha1Hex(String data, String key);

hmacSha1 Hex

  1. $.hmacSha1Hex(byte[] bytes, String key);

hmacSha224 Hex

  1. $.hmacSha224Hex(String data, String key);

hmacSha224 Hex

  1. $.hmacSha224Hex(byte[] bytes, String key);

hmacSha256 Hex

  1. $.hmacSha256Hex(String data, String key);

hmacSha256 Hex

  1. $.hmacSha256Hex(byte[] bytes, String key);

hmacSha384 Hex

  1. $.hmacSha384Hex(String data, String key);

hmacSha384 Hex

  1. $.hmacSha384Hex(byte[] bytes, String key);

hmacSha512 Hex

  1. $.hmacSha512Hex(String data, String key);

hmacSha512 Hex

  1. $.hmacSha512Hex(byte[] bytes, String key);

byte 数组序列化成 hex

  1. $.encodeHex(byte[] bytes);

字符串反序列化成 hex

  1. $.decodeHex(String hexString);

Base64编码

  1. $.encodeBase64(String value);

Base64编码

  1. $.encodeBase64(String value, Charset charset);

Base64编码为URL安全

  1. $.encodeBase64UrlSafe(String value);

Base64编码为URL安全

  1. $.encodeBase64UrlSafe(String value, Charset charset);

Base64解码

  1. $.decodeBase64(String value);

Base64解码

  1. $.decodeBase64(String value, Charset charset);

Base64URL安全解码

  1. $.decodeBase64UrlSafe(String value);

Base64URL安全解码

  1. $.decodeBase64UrlSafe(String value, Charset charset);

关闭 Closeable

  1. $.closeQuietly(Closeable closeable);

InputStream to String utf-8

  1. $.readToString(InputStream input);

InputStream to String

  1. $.readToString(InputStream input, Charset charset);

InputStream to bytes 数组

  1. $.readToByteArray(InputStream input);

读取文件为字符串

  1. $.readToString(File file);

读取文件为字符串

  1. $.readToString(File file, Charset encoding);

读取文件为 byte 数组

  1. $.readToByteArray(File file);

将对象序列化成json字符串

  1. $.toJson(Object object);

将对象序列化成 json byte 数组

  1. $.toJsonAsBytes(Object object);

将json字符串转成 JsonNode

  1. $.readTree(String jsonString);

将json字符串转成 JsonNode

  1. $.readTree(InputStream in);

将json字符串转成 JsonNode

  1. $.readTree(byte[] content);

将json字符串转成 JsonNode

  1. $.readTree(JsonParser jsonParser);

将json byte 数组反序列化成对象

  1. $.readJson(byte[] bytes, Class<T> valueType);

将json反序列化成对象

  1. $.readJson(String jsonString, Class<T> valueType);

将json反序列化成对象

  1. $.readJson(InputStream in, Class<T> valueType);

将json反序列化成对象

  1. $.readJson(byte[] bytes, TypeReference<?> typeReference);

将json反序列化成对象

  1. $.readJson(String jsonString, TypeReference<?> typeReference);

将json反序列化成对象

  1. $.readJson(InputStream in, TypeReference<?> typeReference);

url 编码

  1. $.urlEncode(String source);

url 编码

  1. $.urlEncode(String source, Charset charset);

url 解码

  1. $.urlDecode(String source);

url 解码

  1. $.urlDecode(String source, Charset charset);

日期时间格式化

  1. $.formatDateTime(Date date);

日期格式化

  1. $.formatDate(Date date);

时间格式化

  1. $.formatTime(Date date);

对象格式化 支持数字,date,java8时间

  1. $.format(Object object, String pattern);

将字符串转换为时间

  1. $.parseDate(String dateStr, String pattern);

将字符串转换为时间

  1. $.parse(String dateStr, ConcurrentDateFormat format);

日期时间格式化

  1. $.formatDateTime(TemporalAccessor temporal);

日期时间格式化

  1. $.formatDate(TemporalAccessor temporal);

时间格式化

  1. $.formatTime(TemporalAccessor temporal);

将字符串转换为时间

  1. $.parseDateTime(String dateStr, DateTimeFormatter formatter);

将字符串转换为时间

  1. $.parseDateTime(String dateStr);

将字符串转换为时间

  1. $.parseDate(String dateStr, DateTimeFormatter formatter);

将字符串转换为日期

  1. $.parseDate(String dateStr);

将字符串转换为时间

  1. $.parseTime(String dateStr, DateTimeFormatter formatter);

将字符串转换为时间

  1. $.parseTime(String dateStr);

时间比较

  1. $.between(Temporal startInclusive, Temporal endExclusive);

比较2个 时间差

  1. $.between(Date startDate, Date endDate);

对象类型转换

  1. $.convert(Object source, Class<T> targetType);

对象类型转换

  1. $.convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType);

对象类型转换

  1. $.convert(Object source, TypeDescriptor targetType);

获取方法参数信息

  1. $.getMethodParameter(Constructor<?> constructor, int parameterIndex);

获取方法参数信息

  1. $.getMethodParameter(Method method, int parameterIndex);

获取Annotation注解

  1. $.getAnnotation(AnnotatedElement annotatedElement, Class<A> annotationType);

获取Annotation,先找方法,没有则再找方法上的类

  1. $.getAnnotation(Method method, Class<A> annotationType);

获取Annotation,先找HandlerMethod,没有则再找对应的类

  1. $.getAnnotation(HandlerMethod handlerMethod, Class<A> annotationType);

实例化对象

  1. $.newInstance(Class<?> clazz);

实例化对象

  1. $.newInstance(String clazzStr);

获取Bean的属性, 支持 propertyName 多级 :test.user.name

  1. $.getProperty(Object bean, String propertyName);

设置Bean属性, 支持 propertyName 多级 :test.user.name

  1. $.setProperty(Object bean, String propertyName, Object value);

浅复制

  1. $.clone(Object source);

拷贝对象,支持 Map 和 Bean

  1. $.copy(Object source, Class<T> clazz);

拷贝对象,支持 Map 和 Bean

  1. $.copy(Object source, Object targetBean);

拷贝对象,source 对象属性做非 null 判断

  1. $.copyNonNull(Object source, Object targetBean);

拷贝对象,并对不同类型属性进行转换

  1. $.copyWithConvert(Object source, Class<T> clazz);

拷贝列表对象

  1. $.copy(Collection sourceList, Class<T> targetClazz);

拷贝列表对象,并对不同类型属性进行转换

  1. $.copyWithConvert(Collection sourceList, Class<T> targetClazz);

拷贝对象,扩展 Spring 的拷贝方法

  1. $.copyProperties(Object source, Class<T> clazz);

拷贝列表对象,扩展 Spring 的拷贝方法

  1. $.copyProperties(Collection sourceList, Class<T> targetClazz);

将对象装成map形式

  1. $.toMap(Object bean);

将map 转为 bean

  1. $.toBean(Map<String, Object> beanMap, Class<T> valueType);

开源推荐

关注我们

如梦技术-公众号.jpg

扫描上面二维码,更多精彩内容每天推荐!