Hutool-数据类型转换

import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.CharsetUtil;
import org.junit.Assert;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;

/**
 * 数据类型转换
 */
public class Demo01 {
    public static void main(String[] args) {
        //1.使用Hutool工具Convert将int类型转为String类型
        int a = 1;
        String s = Convert.toStr(a);
        System.out.println(s);

        //2.转换为指定类型数组
        String[] b = {"1","2","3","4"};
        Integer[] integers = Convert.toIntArray(b);
        for (int i = 0; i < integers.length; i++) {
            System.out.println(integers[i]);
        }

        long[] c = {1,2,3,4,5};
        Integer[] arr = Convert.toIntArray(c);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        //3.转换日期对象
        String d = "2017-05-06";
        Date date = Convert.toDate(d);
        System.out.println(date);

        //4.转换为集合
        Object[] e = {"a","你","好","",1};
        List<?> list = Convert.convert(List.class,e);
        System.out.println(list);  //[a, 你, 好, , 1]
        List<?> list2 = Convert.toList(e);
        System.out.println(list2);  //[a, 你, 好, , 1]

        //5.全角、半角转换
        String str = "123456789";
        System.out.println(Convert.toSBC(str));

        String str1 = "1 2 3 4 5 6 7 8 9";
        System.out.println(Convert.toDBC(str1));

        //6.Unicode与字符串转换
        String str2 = "我是一个小小的可爱的字符串";
        System.out.println(Convert.strToUnicode(str2));  //u6211u662fu4e00u4e2au5c0fu5c0fu7684u53efu7231u7684u5b57u7b26u4e32
        System.out.println(Convert.unicodeToStr(Convert.strToUnicode(str2)));   //我是一个小小的可爱的字符串

        //7.编码转换
        String str3 = "我不是乱码";
        String result = Convert.convertCharset(str3, CharsetUtil.UTF_8, CharsetUtil.ISO_8859_1);
        String raw = Convert.convertCharset(result, CharsetUtil.ISO_8859_1, "UTF-8");
        System.out.println(result);    //我不是乱ç
        System.out.println(raw);   //我不是乱码
        //断言比较两个参数是否相同,如果相同的话正常编译控制台不会出现错误信息,如果不相同则控制台输出错误日志
        Assert.assertEquals(raw, str3);

        //8.时间单位的转换
        //用于转换时长单位,比如一个很大的毫秒,我想获得这个毫秒数对应多少分
        long time = 4535345;
        long minutes = Convert.convertTime(time, TimeUnit.MILLISECONDS, TimeUnit.MINUTES);
        System.out.println(minutes);    //75

        //9.金额大小写转换
        double dd = 67556.32;
        String money = Convert.digitToChinese(dd);
        System.out.println(money);  //陆万柒仟伍佰伍拾陆元叁角贰分

        //10.数字转换
        //(1)数字转为英文表达
        String number = Convert.numberToWord(100.23);
        System.out.println(number);
    }
}
原文地址:https://www.cnblogs.com/nastu/p/15220555.html