这个问题在这里已有答案:
Pattern p = Pattern.compile(".s");
Matcher m = p.matcher("as");
boolean b = m.matches();
和:
boolean b3 = Pattern.matches(".s", "as");
我想知道这两个声明有什么区别?
> mathches()
是Matcher类的方法怎么能用Pattern调用呢?
matches()
是static
类中的Pattern
方法,它在matches()
中称为Matcher
方法。这是源code:
public static boolean matches(String regex, CharSequence input) {
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
return m.matches();
}
看看Pattern.matches
的实现:
public static boolean matches(String var0, CharSequence var1) {
Pattern var2 = compile(var0);
Matcher var3 = var2.matcher(var1);
return var3.matches();
}
你会发现后者只是一个更简洁的第一个片段的便捷方法。