Hutool Convert 教程
2026/4/25 20:13:09 网站建设 项目流程

一、简介

Hutool的Convert类是类型转换的工具类,提供了各种常见类型之间的转换方法,简化了Java中繁琐的类型转换操作。

二、基本转换方法

1. toStr - 转换为字符串

// 基本类型转字符串 String str = Convert.toStr(123); // "123" String str2 = Convert.toStr(12.34); // "12.34" String str3 = Convert.toStr(true); // "true" // 对象转字符串(处理null) String str4 = Convert.toStr(null, "默认值"); // "默认值"

2. toInt - 转换为整数

int intVal = Convert.toInt("123"); // 123 int intVal2 = Convert.toInt("12.34"); // 12 int intVal3 = Convert.toInt("abc", 0); // 0(默认值)

3. toLong - 转换为长整型

long longVal = Convert.toLong("123456789"); // 123456789

4. toDouble - 转换为双精度浮点数

double doubleVal = Convert.toDouble("12.34"); // 12.34

5. toBoolean - 转换为布尔值

boolean bool = Convert.toBoolean("true"); // true boolean bool2 = Convert.toBoolean("false"); // false boolean bool3 = Convert.toBoolean("on"); // true boolean bool4 = Convert.toBoolean("yes"); // true boolean bool5 = Convert.toBoolean("1"); // true

三、数组转换

1. 基本类型数组转换

String[] strArray = {"1", "2", "3"}; // 转为Integer数组 Integer[] intArray = Convert.toIntArray(strArray); // 转为Long数组 Long[] longArray = Convert.toLongArray(strArray); // 转为Double数组 Double[] doubleArray = Convert.toDoubleArray(strArray);

2. 数组类型互转

int[] intArray = {1, 2, 3}; // int数组转Integer数组 Integer[] integers = Convert.toIntArray(intArray); // int数组转String数组 String[] strings = Convert.toStrArray(intArray);

四、日期转换

// 字符串转日期 String dateStr = "2024-01-15"; Date date = Convert.toDate(dateStr); // 日期转字符串 String dateStr2 = Convert.toStr(new Date()); // 时间戳转日期 long timestamp = System.currentTimeMillis(); Date date2 = Convert.toDate(timestamp);

五、集合转换

1. 数组转集合

String[] strArray = {"a", "b", "c"}; // 转为List List<String> list = Convert.toList(strArray); // 转为ArrayList ArrayList<String> arrayList = Convert.toList(String.class, strArray);

2. 集合转数组

List<String> list = Arrays.asList("a", "b", "c"); // List转数组 String[] array = Convert.toStrArray(list);

六、进制转换

1. 进制转换

// 十进制转十六进制 String hex = Convert.toHex(255); // "ff" // 十六进制转十进制 int decimal = Convert.hexToInt("ff"); // 255 // 十进制转二进制 String binary = Convert.toBinary(10); // "1010" // 二进制转十进制 int decimal2 = Convert.binaryToInt("1010"); // 10

2. 字符串编码转换

// 字符串编码转换 String str = "中文"; // 转为Unicode String unicode = Convert.strToUnicode(str); // Unicode转字符串 String str2 = Convert.unicodeToStr(unicode);

七、数字类型转换

1. 数字格式化

// 数字转中文数字 String chineseNum = Convert.numberToChinese(12345, false); // "一万二千三百四十五" String chineseNum2 = Convert.numberToChinese(12345, true); // "壹万贰仟叁佰肆拾伍" // 数字转金额(大写) String money = Convert.numberToWord(1234.56); // "壹仟贰佰叁拾肆圆伍角陆分"

2. 数字进制转换

// 任意进制转换 String result = Convert.convertBase("1101", 2, 10); // "13" // 数字转不同进制 String hex = Convert.toHex(100); // "64" String oct = Convert.toOct(100); // "144" String bin = Convert.toBinary(100); // "1100100"

八、综合示例

import cn.hutool.core.convert.Convert; public class ConvertDemo { public static void main(String[] args) { // 1. 基本转换 System.out.println("=== 基本转换 ==="); System.out.println(Convert.toStr(123)); // "123" System.out.println(Convert.toInt("456")); // 456 System.out.println(Convert.toDouble("78.9")); // 78.9 System.out.println(Convert.toBoolean("true")); // true // 2. 数组转换 System.out.println("\n=== 数组转换 ==="); String[] strs = {"1", "2", "3"}; Integer[] ints = Convert.toIntArray(strs); System.out.println(Arrays.toString(ints)); // [1, 2, 3] // 3. 日期转换 System.out.println("\n=== 日期转换 ==="); Date date = Convert.toDate("2024-01-15"); System.out.println(date); // 4. 中文数字 System.out.println("\n=== 中文数字 ==="); System.out.println(Convert.numberToChinese(123456, false)); // 十二万三千四百五十六 System.out.println(Convert.numberToWord(1234.56)); // 壹仟贰佰叁拾肆圆伍角陆分 // 5. 进制转换 System.out.println("\n=== 进制转换 ==="); System.out.println(Convert.toHex(255)); // ff System.out.println(Convert.hexToInt("ff")); // 255 } }

九、注意事项

  1. 空值处理:Convert类的方法通常会对null值进行安全处理,可以指定默认值

  2. 异常处理:转换失败时不会抛出异常,而是返回默认值或null

  3. 性能考虑:频繁调用时考虑缓存结果

  4. 类型安全:某些转换可能丢失精度,如double转int

十、最佳实践

// 推荐:提供默认值 int value = Convert.toInt(str, 0); // 推荐:使用泛型方法 Object obj = "123"; Integer num = Convert.convert(Integer.class, obj); // 推荐:复杂对象转换使用BeanUtil User user = new User(); UserDto dto = BeanUtil.copyProperties(user, UserDto.class);

Hutool的Convert工具类大大简化了Java中的类型转换操作,使代码更加简洁易读。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询