我试图了解使用apache.commons.StringUtils.replacePattern()而不是java.lang.String.replaceAll()函数的优缺点。我听说replacePattern()函数提高了性能,但是我找不到任何javaDocs或任何流行的java论坛中的声明。如果使用replacePattern()方法还有其他任何优点,请告诉我。
谢谢, Yeshwanth
答案 0 :(得分:1)
以下是OpenJDK 8中String.replaceAll的来源:
public String replaceAll(String regex, String replacement) {
return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}
以下是StringUtils.replacePattern的来源:
public static String replacePattern(final String source, final String regex, final String replacement) {
return Pattern.compile(regex, Pattern.DOTALL).matcher(source).replaceAll(replacement);
}
这些方法之间的唯一区别是replacePattern传递DOTALL option而replaceAll不传递。