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

转载自:https://www.hutool.cn/docs/#/core/类型转换/类型转换工具类-Convert

posted @   合起来的彳亍  阅读(3190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示