我处理大规模数据集,因此我对分割String
的最有效方法感兴趣。
我发现Scanner vs. StringTokenizer vs. String.Split和string tokenizer in Java几乎说明我不应该使用StringTokenizer
。
我确信在第Performance of string tokenisation: String.split() and StringTokenizer compared次{{3}} StringTokenizer
明显更快的情况下检查 @Neil Coffey的实验图表之前不要使用它。< / p>
所以我的问题是我不应该使用课程,因为它的遗产(正如其正式声明的那样)或者我应该选择它吗?我必须承认,在我的项目中,效率至关重要。 String.split
不应该至少比较快?
还有其他快速字符串拆分替代方案吗?
答案 0 :(得分:5)
有一个高效的&amp; Google Guava库中提供了更多功能丰富的字符串拆分方法。
例如:
Iterable<String> splitted = Splitter.on(',')
.omitEmptyStrings()
.trimResults()
.split("one,two,, ,three");
for (String text : splitted) {
System.out.println(text);
}
输出:
一个
2个
3