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

abe*_*out 0 java compiler-construction compilation

我正在尝试编译以下while循环,但是我继续在group.matcher("...")旁边的eclipse中得到一个红色标记,表示删除参数,所以我匹配组.

我得到的错误如下:

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

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

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

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

参数类型匹配器中的方法组(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;
    }
Run Code Online (Sandbox Code Playgroud)

JFP*_*ard 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)