关于String的matches方法

Posted lccsblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于String的matches方法相关的知识,希望对你有一定的参考价值。

弊端:

虽然String.matches方法最易于看一个字符串是否与正则表达式相匹配。但并不适合在注重性能的情形中重复使用。

问题在于,它内部为正则表达式创建了一个Pattern实例,却只用一次,之后就可以进行垃圾回收了。创建Pattern实例的成本很高。因为需要将正则表达式编译成一个有限状态机

为了提升性能,应该显式地将正则表达式编译成一个Pattern实例(不可变),让它成为类初始化的一部分,并将它缓存起来:

public class RomanNumerals
    private static final Pattern ROMAN=Pattern.compile(...);
    static boolean isRomanNumeral(String s)
        return ROMAN.matcher(s).matches();
    

 

以上是关于关于String的matches方法的主要内容,如果未能解决你的问题,请参考以下文章