用例:
for( String phrase : largeDictionary )
phrase.split(",");
我了解在针对regex拆分或匹配String时为什么要编译和重用模式。我想知道简单字符串文字是否具有相同的好处,或者是否有优化的代码路径可以避免正则表达式,而在不必要的情况下,如我上面的逗号所示,完全避免了正则表达式。如果我经常这样做,是否仍应创建并重复使用模式?
答案 0 :(得分:1)
aString.split(“,”)-非常好,对于这种情况,您不需要模式。 http://www.docjar.com/html/api/java/lang/String.java.html 当模式仅包含一个符号(也称为定界符)时,java使用比使用正则表达式更简单的方法
public String[] split(String regex, int limit) {
/* fastpath if the regex is a
(1)one-char String and this character is not one of the
RegEx's meta characters ".$|()[{^?*+\\", or
(2)two-char String and the first char is the backslash and
the second is not the ascii digit or ascii letter.
*/