2014-12-06 86 views
1

我试图在Java中初始化匹配器,但不管字符串是否初始化并且不为空,都会继续获得NPE。使用初始化字符串初始化匹配器,获取NullPointerException

下面是代码:

pattern.compile("\\s"); 
System.out.println("In = " + in); 
matcher = pattern.matcher(in); 

和打印语句的输出:

在= 2 2 + //这是一条评论

那么清楚初始化,可能会抛出这个错误?

回答

2

您必须静态方法Pattern.compile的返回值赋给Pattern类型的对象:

Pattern pattern = Pattern.compile("\\s"); 

然后用它作为:

Matcher matcher = pattern.matcher(in); 
+0

谢谢。没有意识到我愚蠢的错误。之前我已经声明了“模式模式”,并认为之后我需要调用compile。 – AKon 2014-12-06 10:34:01

+0

是'Pattern.compile'是一个静态方法,它返回一个'Pattern'类型的对象。 – anubhava 2014-12-06 10:35:26