📅  最后修改于: 2023-12-03 15:09:35.464000             🧑  作者: Mango
在Java编程中,需要将字符串拆分成数组的情况非常常见。通常情况下,开发者需要根据特定的分隔符将字符串拆分为数组项。
Java中提供了多种方法来完成此任务。在本文中,我们将学习如何使用这些方法将字符串拆分为数组。
Java String类的split()方法允许我们使用正则表达式作为参数来将字符串拆分为数组。例如,我们可以使用以下代码将字符串拆分为数组:
String str = "Hello World";
String[] arrOfStr = str.split(" ");
上面的代码将使用空格作为分隔符将字符串拆分为数组。我们还可以使用其他分隔符,如逗号、句号、破折号等。
String str = "apple,orange,banana";
String[] arrOfStr = str.split(",");
上面的代码将使用逗号作为分隔符将字符串拆分为数组,结果如下所示:
["apple", "orange", "banana"]
需要注意的是,split()方法将返回一个数组。如果原始字符串无法被拆分,则返回只包含原始字符串的数组。
Java中还提供了StringTokenizer类,它允许我们将字符串按指定的分隔符拆分为多个标记,并遍历这些标记。
String str = "Hello World";
StringTokenizer st = new StringTokenizer(str, " ");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
上面的代码将使用空格作为分隔符将字符串拆分为标记,并依次输出这些标记。输出结果如下所示:
Hello
World
需要注意的是,StringTokenizer类并非线程安全的。如果需要在多线程环境中使用,请考虑使用String类的split()方法。
除了Java自带的方法外,Google的guava库也提供了一种简单的方式来将字符串拆分为数组。使用该库的Splitter类,我们可以非常轻松地实现字符串拆分操作。
String str = "Hello,World";
Iterable<String> result = Splitter.on(',')
.trimResults()
.omitEmptyStrings()
.split(str);
上面的代码使用逗号作为分隔符将字符串拆分为数组,并过滤掉空字符串。需要注意的是,使用该库需要先添加guava依赖。
在本文中,我们介绍了将字符串拆分为数组的三种方法,分别是使用Java String类的split()方法、StringTokenizer类以及guava库中的Splitter类。需要根据具体的情况选择合适的方法。