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); } }