Java字符串转数组方法详解
一、字符串转字符数组(char[])
使用toCharArray()方法可将字符串转换为字符数组:
String str = "Hello"; char[] charArray = str.toCharArray(); // 结果:charArray = {'H','e','l','l','o'}二、字符串转字符串数组(String[])
1. 使用split()方法分割字符串
根据特定分隔符将字符串分割为字符串数组:
String data = "apple,banana,orange"; String[] fruits = data.split(","); // 结果:fruits = {"apple","banana","orange"}2. 使用正则表达式分割
String text = "Java 编程 学习"; String[] words = text.split("\\s+"); // 按空格分割 // 结果:words = {"Java","编程","学习"}三、特殊转换场景
1. 数字字符串转整数数组
String numbers = "1,2,3,4,5"; String[] strArray = numbers.split(","); int[] intArray = new int[strArray.length]; for(int i=0; i2. 使用Stream API(Java 8+)
String nums = "10 20 30"; int[] array = Arrays.stream(nums.split(" ")) .mapToInt(Integer::parseInt) .toArray();
四、注意事项
- split()方法参数:分隔符是正则表达式,特殊字符需转义
- 空字符串处理:
split()默认会忽略末尾空字符串 - 性能考虑:频繁操作建议使用StringBuilder或直接操作字符数组
- 编码问题:中文字符串转换时注意编码一致性
五、实际应用示例
// CSV数据处理 String csvData = "张三,25,程序员\n李四,30,设计师"; String[] rows = csvData.split("\\n"); for(String row : rows) { String[] columns = row.split(","); System.out.println(Arrays.toString(columns)); } // 字符串逆序输出 String original = "Hello World"; char[] chars = original.toCharArray(); for(int i=chars.length-1; i>=0; i--) { System.out.print(chars[i]); }
六、总结
Java中将字符串转换为数组主要使用toCharArray()和split()两种核心方法。选择哪种方法取决于具体需求:
- 需要操作单个字符时使用
toCharArray() - 需要按特定模式分割字符串时使用
split() - 复杂转换可结合循环或Stream API实现
掌握这些方法能够高效处理字符串数据,提升Java编程效率。