在Java中将字符串转换为字符串数组
在Java中,将字符串转换为字符串数组有几种常见的方法,具体取决于你的需求:

(图片来源网络,侵删)
按特定分隔符分割字符串
这是最常用的方法,使用String.split()方法:
String str = "apple,banana,orange";
String[] strArray = str.split(",");
// 输出结果: [apple, banana, orange]
for (String s : strArray) {
System.out.println(s);
}
注意事项:
- 如果分隔符是正则表达式中的特殊字符(如、、等),需要转义:
String str = "apple|banana|orange"; String[] strArray = str.split("\\|"); - 如果字符串以分隔符开头或结尾,可能会得到空字符串:
String str = ",apple,banana,"; String[] strArray = str.split(","); // 结果: ["", "apple", "banana", ""]
将字符串拆分为单个字符的数组
如果需要将字符串拆分为每个字符的数组:
String str = "hello";
String[] charArray = str.split("");
// 结果: ["h", "e", "l", "l", "o"]
使用StringTokenizer类(旧方法)
虽然不推荐使用,但Java早期版本中有StringTokenizer:
String str = "apple banana orange";
StringTokenizer tokenizer = new StringTokenizer(str);
String[] strArray = new String[tokenizer.countTokens()];
int i = 0;
while (tokenizer.hasMoreTokens()) {
strArray[i++] = tokenizer.nextToken();
}
将字符串数组转换为固定长度的数组
如果需要将字符串填充到固定长度的数组:

(图片来源网络,侵删)
String str = "hello";
String[] fixedArray = new String[5];
for (int i = 0; i < fixedArray.length; i++) {
fixedArray[i] = str;
}
// 结果: ["hello", "hello", "hello", "hello", "hello"]
使用Java 8 Stream API
String str = "apple,banana,orange";
String[] strArray = Arrays.stream(str.split(","))
.toArray(String[]::new);
| 方法 | 适用场景 | 示例 |
|---|---|---|
split() |
按分隔符分割字符串 | str.split(",") |
split("") |
拆分为字符数组 | str.split("") |
StringTokenizer |
旧版代码 | new StringTokenizer(str) |
| Stream API | Java 8+风格 | Arrays.stream(str.split(",")).toArray() |
选择哪种方法取决于你的具体需求和Java版本。split()方法是最常用和推荐的方式。
