我正在编写一个很大程度上依赖于将大字符串分成单个单词的应用程序。因为我必须处理这么多字符串,所以我担心效率问题。我正在使用String.split执行此操作,但我不知道是否有更有效的方法来实现此目的。
private static String[] printWords(String input) {
String splitWords[] = input.split(" ");
return splitWords;
}
答案 0 :(得分:1)
几年前,当我计时时,(Java 6)String.split()明显慢于使用indexOf()搜索单个空格字符,因为前者有很多正则表达式的包袱。
如果你的句子总是分成一个空格,(有点可疑?)并且性能确实是一个问题(做一些真正的测试),自定义代码会更快。
根据David Ehrmann的评论提供的链接,看起来Java 7取得了一些加速。我的测试是使用Java 6进行的。
答案 1 :(得分:1)