我处理大规模数据集,因此我对分割a的最有效方法感兴趣String.
好吧,我发现Scanner vs. StringTokenizer vs. String.Split和Java中的字符串标记器,它几乎说明我不应该使用它StringTokenizer.
直到我在第二篇文章"字符串标记化表现"中检查了@Neil Coffey的实验图表后,我确信不会使用它:String.split()和StringTokenizer比较哪里StringTokenizer明显更快.
所以我的问题是我不应该使用一个类,因为它是遗留的(正如它的官方声明)或者我应该选择它吗?我必须承认,在我的项目中,效率至关重要.String.split不应该至少相对快?
还有其他快速字符串拆分替代方案吗?
Google Guava库中提供了一种高效且功能更丰富的字符串拆分方法.
例如:
Iterable<String> splitted = Splitter.on(',')
.omitEmptyStrings()
.trimResults()
.split("one,two,, ,three");
for (String text : splitted) {
System.out.println(text);
}
Run Code Online (Sandbox Code Playgroud)
输出:
一个
2
3