6

尝试导入 java.util.regex 时出现错误(特别添加了该行以找出错误在导入中,因为我以前只有 import java.util.*)。

find_glycopeps.java:5: cannot find symbol
symbol  : class regex
location: package java.util
import java.util.regex; // Should be redundant...
<some more messages about not recognising Pattern and Matcher, which are classes of the regex package>

据我所知,正则表达式是一个“核心”库。我假设由于 import java.io.* 有效,因此跟踪库所在位置的本机方法应该有效,所以我很困惑这是如何发生的。

PS:我必须注意,我在周末测试了一些 java 编译器以找到我喜欢的 1,并在今天早上重新安装了一个“干净”的 openjdk-6,这可能是问题的根源,但不知道如何进行.

干杯

编辑(已解决):..我现在肯定会羞愧地躲起来,谢谢大家指出真正愚蠢的错误。

4

3 回答 3

20

您的导入定义错误。

您需要提供每个类的显式导入,如下所示:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

或者做

import java.util.regex.*;

您正在尝试导入一个包,您需要 * 元字符。

如果您阅读编译器给您的消息,它会说它找不到正则表达式。

于 2012-01-09T15:52:36.497 回答
6

您不能导入包。您导入一个类或包中的所有类:

import java.util.regex.*;

包以树的形式组织,但import不是递归的。导入java.util.*只导入 中的类java.util,而不是子包中的类。

于 2012-01-09T15:54:20.107 回答
4

你需要写:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

要不然:

import java.util.regex.*;

你不能只 import java.util.regex,没有星号,因为那是一个包;这就像导入java.io.

于 2012-01-09T15:52:44.963 回答