Hutool工具类使用笔记

导入依赖

        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.5.11</version>
        </dependency>

1、日期时间工具DateUtil

相比SimpleDateFormat,使用更为简便,功能更全。

 @Test
    public void test01(){

        // 获取当前时间字符串 格式:yyyy-MM-dd HH:mm:ss
        String now = DateUtil.now();
        
        // 获取当前时间字符串 格式:yyyy-MM-dd
        String today = DateUtil.today();

        // 获取当前时间 Date类型
        DateTime date = DateUtil.date();

        // 格式转换:String ==> Date
        DateTime dateTime = DateUtil.parse(now);

        // 格式转换:Date ==> String
        String dateStr = DateUtil.formatDate(date);

        // 日期偏移 向后推三天
        DateTime dateAfterThreeDays = DateUtil.offsetDay(date, 3);

        // 日期偏移 向后推6小时
        DateTime dateAfterSixHours = DateUtil.offsetHour(date, 6);

        //计算时间差
        long days = DateUtil.between(date, dateAfterThreeDays, DateUnit.DAY);
    }

2、随机数生成

//使用场景:数字验证码
RandomUtil.randomNumbers(6); //生成随机的XX位整数。
RandomUtil.randomString(6);  //生成随机字母+数字的字符串

3、JSON工具类

        JSONObject obj = JSONUtil.createObj();
        List list = new ArrayList();
        list.add(new User(1,"xiaozhang","女",23));
        list.add(new User(1,"xiaowang","男",23));
        obj.put("code","200");
        obj.put("msg","success");
        obj.put("date",list);
        System.out.println(obj.toString());

4、分页查询

(1)分页条件构建

(2)分页彩虹算法

    @Test
    public void test02(){
        // 分页条件构建
        // 参数  pageNo(第几页):1  countPerOPage(每页显示数据条数):5
        int[] pageParam = PageUtil.transToStartEnd(1, 5);
        // 结果 [0, 5]
        System.out.println(Arrays.toString(pageParam));

        // 分页页数显示(分页彩虹算法)
        // 参数 currentPage(当前第几页):11   pageCount(总页数): 12  displayCount(显示的页码按钮数)
        int[] rainbow = PageUtil.rainbow(11, 12,5);
        // 结果 [8, 9, 10, 11, 12]
        System.out.println(Arrays.toString(rainbow));
    }

5、合并数组

        //合并多个泛型数组
        String[] strArr = new String[]{"1","2","3"};
        String[] strArr2 = new String[]{"4","5","6"};
        Serializable[] serializables = ArrayUtil.addAll(strArr, strArr2);
        System.out.println(Arrays.toString(serializables));

6、Validate校验

        //校验邮箱
        boolean email = Validator.isEmail("[email protected]");
        List list = null;
        //校验Object对象是否为空
        boolean empty = Validator.isEmpty(list);
        //校验身份证
        boolean citizenId = Validator.isCitizenId("XXX");

7、分割List集合

        List<String> list = new ArrayList<String>(Arrays.asList(new String[]{"a","b","c"}));
        //用指定字符分割集合
        String join = CollUtil.join(list, ",");

猜你喜欢

转载自blog.csdn.net/zh137289/article/details/107496843