Sur*_*ran 9 java regex pattern-matching
这个pattern()方法和toString()方法有什么区别Pattern?
医生说:
public String pattern()
Run Code Online (Sandbox Code Playgroud)
返回编译此模式的正则表达式.
public String toString()
Run Code Online (Sandbox Code Playgroud)
返回此模式的字符串表示形式.这是编译此模式的正则表达式.
即使他们的实现返回相同的结果:
import java.util.regex.*;
class Test {
public static void main(String[] args) {
Pattern p = Pattern.compile("[a-zA-Z]+\\.?");
String s = p.pattern();
String d = p.toString();
System.out.println(s);
System.out.println(d);
}
}
Run Code Online (Sandbox Code Playgroud)
我认为没有区别,为什么有两种方法呢?或者我错过了什么?
Mar*_*aux 12
因为每个类都有一个toString()继承自的方法Object.toString()如果甚至可以创建某种字符串表示,则该方法应该返回一个字符串,该字符串以最佳方式表示对象.这个名字toString()很模糊,所以他们添加了一个pattern()更直接的方法.
因为他们想要toString()返回一些聪明的东西,所以他们使用正则表达式的模式,这是一个很好的字符串表示Pattern.
| 归档时间: |
|
| 查看次数: |
1605 次 |
| 最近记录: |