String.split vs效率级别的StringTokenizer

时间:2014-05-29 09:40:58

标签: java string split

我处理大规模数据集,因此我对分割String的最有效方法感兴趣。

我发现Scanner vs. StringTokenizer vs. String.Splitstring tokenizer in Java几乎说明我不应该使用StringTokenizer

我确信在第Performance of string tokenisation: String.split() and StringTokenizer compared次{{3}} StringTokenizer明显更快的情况下检查 @Neil Coffey的实验图表之前不要使用它。< / p>

所以我的问题是我不应该使用课程,因为它的遗产(正如其正式声明的那样)或者我应该选择它吗?我必须承认,在我的项目中,效率至关重要。 String.split不应该至少比较快?

还有其他快速字符串拆分替代方案吗?

1 个答案:

答案 0 :(得分:5)

有一个高效的&amp; Google Guava库中提供了更多功能丰富的字符串拆分方法。

Guava's split method

例如:

Iterable<String> splitted = Splitter.on(',')
    .omitEmptyStrings()
    .trimResults()
    .split("one,two,,   ,three");

for (String text : splitted) {
  System.out.println(text);
}

输出:

一个
2个
3