Skip to content

Latest commit

 

History

History
28 lines (23 loc) · 651 Bytes

File metadata and controls

28 lines (23 loc) · 651 Bytes

Method bodies should generally not call java.util.regex.Pattern#compile(String) with constant arguments. Instead, define a constant to store that Pattern. This can avoid recompilation of the regex every time the method is invoked.

That is, prefer this:

private static final Pattern REGEX_PATTERN = Pattern.compile("a+");

public static boolean doSomething(String input) {
  Matcher matcher = REGEX_PATTERN.matcher(input);
  if (matcher.matches()) {
    ...
  }
}

to this:

public static boolean doSomething(String input) {
  Matcher matcher = Pattern.compile("a+").matcher(input);
  if (matcher.matches()) {
    ...
  }
}