【转载】Jave开发手册之正则表达式预编译

 今天又水一篇,java开发手册华山版

一、编程规约 (九)其它 第一条

解释:Pattern要定义为static final静态变量,以避免执行多次预编译。

错误用法:

// 没有使用预编译
private void func(...) {
    if (Pattern.matches(regexRule, content)) {
        ...
    }
}
// 多次预编译
private void func(...) {
    Pattern pattern = Pattern.compile(regexRule);
    Matcher m = pattern.matcher(content);
    if (m.matches()) {
        ...
    }
}

正确用法:

private static final Pattern pattern = Pattern.compile(regexRule);
 
private void func(...) {
    Matcher m = pattern.matcher(content);
    if (m.matches()) {
        ...
    }
}

摘自:https://blog.csdn.net/qq_35312171/article/details/82663344

  

原文地址:https://www.cnblogs.com/steveshao/p/11662202.html