1.序言
前些日子介绍了Hutool工具集之DateUtil(日期时间工具)详解使用,这个工具类算是很常用也很实用的了,继而接着在看Hutool工具集的内容,今天给大家介绍几个常用工具类和好玩的工具类。
2.比较常用工具类
1)数组工具-ArrayUtil
public static void main(String[] args) {
int[] a = {};
int[] b = null;
//判空:true
boolean empty = ArrayUtil.isEmpty(a);
boolean empty1 = ArrayUtil.isEmpty(b);
int[] c = {1,2};
//判非空:true
boolean notEmpty = ArrayUtil.isNotEmpty(c);
//新建一个大小为5的字符串数组
String[] strings = ArrayUtil.newArray(String.class, 5);
//获取数组对象的元素类型
Class<?> componentType = ArrayUtil.getComponentType(strings);
//根据数组元素类型,获取数组的类型
Class<?> arrayType = ArrayUtil.getArrayType(componentType);
//强转数组类型
ArrayUtil.cast(Integer.class, strings);
//将新元素添加到已有数组中
//添加新元素会生成一个新的数组,不影响原数组
ArrayUtil.append(c, 3, 4);
//将新元素插入到到已有数组中的某个位置
//添加新元素会生成一个新的数组,不影响原数组
//如果插入位置为为负数,从原数组从后向前计数,若大于原数组长度,则空白处用null填充
ArrayUtil.insert(c, 5, 5, 6, 7);
//采用可变参数方式,将多个泛型数组合并为一个数组。
String[] str = {"a","b"};
String[] addAll = ArrayUtil.addAll(strings, str);
//数组克隆
int[] clone = ArrayUtil.clone(c);
//该方法有三个重载,这三个重载配合可以实现支持步进的有序数组或者步进为1的有序数组
ArrayUtil.range(6,123);
//过滤数组,只保留偶数
Integer[] d = {1,2,3,4,5,6};
Integer[] filter = ArrayUtil.filter(d, new Editor<Integer>() {
public Integer edit(Integer t) {
return (t % 2 == 0) ? t : null;
}
});
//ArrayUtil.contains方法只针对泛型数组,检测指定元素是否在数组中。
//ArrayUtil.wrap和ArrayUtil.unwrap对原始类型数组和包装类型数组进行转换。
//ArrayUtil.isArray方法封装了obj.getClass().isArray()。
/*ArrayUtil.join 方法使用间隔符将一个数组转为字符串,比如[1,2,3,4]这个数组转为字符串,
间隔符使用“-”的话,结果为 1-2-3-4,join方法同样支持泛型数组和原始类型数组。*/
}
2)图片工具-ImageUtil
①介绍
针对awt中图片处理进行封装,这些封装包括:缩放、裁剪、转为黑白、加水印等操作。
②方法
scale 缩放图片,提供两种重载方法:其中一个是按照长宽缩放,另一种是按照比例缩放。
cut 剪裁图片
cutByRowsAndCols 按照行列剪裁(将图片分为20行和20列)
convert 图片类型转换,支持GIF->JPG、GIF->PNG、PNG->JPG、PNG->GIF(X)、BMP->PNG等
gray 彩色转为黑白
pressText 添加文字水印
pressImage 添加图片水印
rotate 旋转图片
flip 水平翻转图片
③补充
本来准备都举个栗子的,可是有点多,就官网copy了,官网在上一篇文章已经有链接,再给大家一个API文档链接,毕竟官网和我这都不是最全的,希望对大家的学习有帮助!
3)随机工具-RandomUtil
①介绍
RandomUtil主要针对JDK中Random对象做封装,产生的随机结果是伪随机结果。不过这种随机结果对于大多数情况已经够用。
②方法
RandomUtil.randomInt 获得指定范围内的随机数
RandomUtil.randomBytes 随机bytes
RandomUtil.randomEle 随机获得列表中的元素
RandomUtil.randomEleSet 随机获得列表中的一定量的不重复元素,返回Set
RandomUtil.randomString 获得一个随机的字符串(只包含数字和字符)
RandomUtil.randomNumbers 获得一个只包含数字的字符串
RandomUtil.randomUUID 随机UUID
RandomUtil.weightRandom 权重随机生成器,传入带权重的对象,然后根据权重随机获取对象
4)对象工具-ObjectUtil
5)字符串工具-StrUtil
6)集合工具 CollUtil
7)Map工具-MapUtil
8)Bean工具-BeanUtil
9)JSONUtil
写了才知道,要是每个工具类都举例实在是太多了,我一期也一下子出不完,分期给大家展示吧,自己也能有时间吸收好了再写!