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; i

2. 使用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()两种核心方法。选择哪种方法取决于具体需求:

  1. 需要操作单个字符时使用toCharArray()
  2. 需要按特定模式分割字符串时使用split()
  3. 复杂转换可结合循环或Stream API实现

掌握这些方法能够高效处理字符串数据,提升Java编程效率。