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)); //\u6211\u662f\u4e00\u4e2a\u5c0f\u5c0f\u7684\u53ef\u7231\u7684\u5b57\u7b26\u4e32 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); } }