为什么matcher.group会给我一个错误?

时间:2015-04-21 19:45:41

标签: java compiler-construction compilation

我正在尝试编译以下while循环,但是我继续在group.matcher(" ...")旁边的eclipse中得到一个红旗,它说要删除参数以便我匹配基。

我得到的错误如下:

Matcher类型中的方法组(int)不适用于参数(String)

Matcher类型中的方法组(int)不适用于参数(String)

Matcher类型中的方法组(int)不适用于参数(String)

Matcher类型中的方法组(int)不适用于参数(String)

Matcher类型中的方法组(int)不适用于参数(String)

以下是代码:

while (matcher.find()) {
        if (matcher.group(TokenType.NUMBER.name()) != null) {
            tokens.add(new Token(TokenType.NUMBER, matcher.group(TokenType.NUMBER.name())));
            continue;
        } else if (matcher.group(TokenType.BINARYOP.name()) != null) {
            tokens.add(new Token(TokenType.BINARYOP, matcher.group(TokenType.BINARYOP.name())));
            continue;
        } else if (matcher.group(TokenType.WHITESPACE.name()) != null)
            continue;
    }

1 个答案:

答案 0 :(得分:6)

由于我假设你使用Java 6或更低版本,matcher.group只接受一个int作为参数。如果要使用matcher.group(String)将项目升级到Java 7.请参阅http://docs.oracle.com/javase/6/docs/api/java/util/regex/Matcher.html#group(java.lang.String)http://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html#group(java.lang.String)