hutool常见的类型转换方法
任意对象转字符串
Convert.toStr(obj) // 参数传入任意对象Object
转换为指定类型数组
String[] b = { "1", "2", "3", "4" }; //结果为Integer数组 Integer[] intArray = Convert.toIntArray(b);
long[] c = { 1,2,3,4,5}; //结果为Integer数组 Integer[] intArray2 = Convert.toIntArray(c);
转换为日期对象
String a = "2017-05-06"; Date date = Convert.toDate(a);
转换为集合
Object[] a = { "a", "你", "好", "", 1}; List<?> list = Convert.convert(List.class, a); //从4.1.11开始可以这么用 List<?> list = Convert.toList(a);
泛型类型转换
Object[] a = { "a", "你", "好", "", 1 }; List<String> list = Convert.convert(new TypeReference<List<String>>() { }, a);
半角和全角转换
// 半角转全角 String a = "123456789"; //结果为:"123456789" String sbc = Convert.toSBC(a);
// 全角转半角 String a = "123456789"; //结果为"123456789" String dbc = Convert.toDBC(a);
16进制(Hex)与字符串互转
// 转为16进制(Hex)字符串 String a = "斗罗大陆"; String hex = Convert.toHex(a, CharsetUtil.CHARSET_UTF_8);
// 将16进制(Hex)字符串转为普通字符串: String h = "e69697e7bd97e5a4a7e99986"; String h1 = Convert.hexToStr(h, CharsetUtil.CHARSET_UTF_8); log.info(h1);
Unicode和字符串转换
// string转Unicode Convert.strToUnicode(str); // Unicode转string Convert.unicodeToStr(unicode);
时间单位转换
// 毫秒 long a = 318247823; // 转换为小时 long hour = Convert.convertTime(a, TimeUnit.MILLISECONDS, TimeUnit.HOURS); log.info(hour + "小时"); // 转换为分钟 long minute = Convert.convertTime(a, TimeUnit.MILLISECONDS, TimeUnit.MINUTES); log.info(minute + "分钟"); // 转换为秒 long second = Convert.convertTime(a, TimeUnit.MILLISECONDS, TimeUnit.SECONDS); log.info(second + "秒");
金额大小写转换
// 零元伍角贰分 String s = Convert.digitToChinese(Double.parseDouble("0.52")); log.info(s); // 贰仟叁佰肆拾伍万叁仟贰佰肆拾肆元陆角捌分 double money = 23453244.68; String bigMoney = Convert.digitToChinese(money); log.info(bigMoney);
注意 转换为大写只能精确到分(小数点儿后两位),之后的数字会被忽略。
数字转换
// 数字转英文 double a = 23.56; // TWENTY THREE AND CENTS FIFTY SIX ONLY String a1 = Convert.numberToWord(a); // 数字转中文 long b = 345673; // 跟Convert.digitToChinese方法一样,第二个参数如果设为false,就是中文的一二三四... String s = Convert.numberToChinese(b, true); // 数字简化 long b = 345673; // 34.57w String s = Convert.numberToSimple(b); log.info(s); // 1.2k String s1 = Convert.numberToSimple(1200); log.info(s1); // 中文数字转数字 // 1012 int b = Convert.chineseToNumber("一千零一十二"); log.info(b + "");
原始类和包装类相互转换
// 原始类转换为包装类 Class<?> warpClass = int.class; Class<?> wraped = Convert.wrap(warpClass); // class java.lang.Integer log.info(wraped + ""); // 包装类转换为原始类 Class<?> wrap1 = Long.class; Class<?> aClass = Convert.unWrap(wrap1); // long log.info(aClass.toString());
转载自:
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
《精力管理》读书笔记