在Java编程中,字符串转换是最基础也是最重要的操作之一。无论是数据处理、系统交互还是算法实现,都离不开字符串的各种转换操作。本文将全面解析Java中字符串转换的10种核心方法,帮助开发者掌握这一关键技能。
一、基本数据类型与字符串的互转
- 基本类型转字符串
最常用的方法是使用String.valueOf():
int num = 123;
String str = String.valueOf(num);
或者通过拼接空字符串实现:
String str = 123 + "";
- 字符串转基本类型
使用各包装类的parse方法:
int num = Integer.parseInt("123");
double d = Double.parseDouble("3.14");
二、字符数组与字符串的转换
- 字符串转字符数组
char[] chars = "Hello".toCharArray();
- 字符数组转字符串
String str = new String(chars);
三、字节数组与字符串的转换
- 字符串转字节数组
需要指定字符编码:
byte[] bytes = "文本".getBytes(StandardCharsets.UTF_8);
- 字节数组转字符串
String str = new String(bytes, StandardCharsets.UTF_8);
四、大小写转换
String lower = "Hello".toLowerCase();
String upper = "hello".toUpperCase();
五、字符串与StringBuilder/Buffer的转换
StringBuilder sb = new StringBuilder("初始");
sb.append("内容");
String result = sb.toString();
六、格式化字符串
使用String.format():
String formatted = String.format("姓名:%s,年龄:%d", "张三", 25);
七、JSON与字符串的转换
使用Jackson或Gson库:
// 对象转JSON字符串
String json = new ObjectMapper().writeValueAsString(obj);
// JSON字符串转对象
MyObject obj = new ObjectMapper().readValue(json, MyObject.class);
八、HTML/XML转义与反转义
使用Apache Commons Text:
String escaped = StringEscapeUtils.escapeHtml4("<html>");
String unescaped = StringEscapeUtils.unescapeHtml4(escaped);
九、日期与字符串的转换
使用SimpleDateFormat:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(new Date());
Date date = sdf.parse("2023-01-01");
十、Base64编码解码
Java 8+内置支持:
String encoded = Base64.getEncoder().encodeToString("data".getBytes());
String decoded = new String(Base64.getDecoder().decode(encoded));
性能优化建议
- 对于频繁的字符串拼接,优先使用StringBuilder
- 注意编码一致性,避免乱码
- 大文本处理考虑使用流式操作
- 重用SimpleDateFormat实例(线程安全情况下)
常见问题解答
Q:为什么我的中文字符转换出现乱码?
A:确保所有转换环节使用统一的字符编码(推荐UTF-8)。
Q:Integer.parseInt()遇到非数字字符串怎么办?
A:会抛出NumberFormatException,应该先进行校验或使用try-catch处理。
Q:哪种字符串拼接方式性能最好?
A:在循环中StringBuilder性能最优,单次操作可以直接使用"+"。
通过掌握这些字符串转换技巧,可以显著提升Java开发效率和代码质量。建议读者在实际项目中多加练习,并根据具体场景选择最合适的转换方法。
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。