今天又水一篇,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