杰瑞科技汇

Java字符串如何转字符串数组?

在Java中将字符串转换为字符串数组

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

Java字符串如何转字符串数组?-图1
(图片来源网络,侵删)

按特定分隔符分割字符串

这是最常用的方法,使用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();
}

将字符串数组转换为固定长度的数组

如果需要将字符串填充到固定长度的数组:

Java字符串如何转字符串数组?-图2
(图片来源网络,侵删)
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()方法是最常用和推荐的方式。

分享:
扫描分享到社交APP
上一篇
下一篇