我在处理大型数据集,因此我对拆分 String
的最有效方法很感兴趣。
我发现 Scanner vs. StringTokenizer vs. String.Split那string tokenizer in Java这几乎表明我不应该使用 StringTokenizer
。
在我查看第二篇文章中的@Neil Coffey 的 实验图表之前,我确信不会使用它 Performance of string tokenisation: String.split() and StringTokenizer compared其中 StringTokenizer
明显更快。
所以我的问题是我不应该使用一个类,因为它是遗留的(正如官方声明的那样),或者我应该改用它吗?我必须承认效率在我的项目中足够重要。 String.split
不应该至少相当快吗?
还有其他快速字符串拆分替代方法吗?
最佳答案
Google Guava 库中提供了一种高效且功能更丰富的字符串拆分方法。
例如:
Iterable<String> splitted = Splitter.on(',')
.omitEmptyStrings()
.trimResults()
.split("one,two,, ,three");
for (String text : splitted) {
System.out.println(text);
}
输出:
一个
两个
三
关于java - String.split 与 StringTokenizer 在效率级别上的对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23930290/