我在尝试导入java.util.regex时遇到错误(特别添加了一行,以确定错误是在导入中,因为我之前只有导入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>
据我所知,正则表达式是一个“核心”库。我假设,因为导入java.io. *的工作方式是跟踪库所在位置的本机方法,所以我很惊讶这是怎么发生的。
PS:我必须注意到我周末测试了一些java编译器,找到了我喜欢的1并且今天早上重新安装了一个'干净'的openjdk-6,这可能是问题源于但不确定的地方如何进行。干杯
编辑(已解决):我现在肯定会羞于羞耻,谢谢大家指出这个真正愚蠢的错误答案 0 :(得分:14)
您的导入定义错误。
您需要提供每个类的显式导入,如下所示:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
或者做
import java.util.regex.*;
你正在尝试导入一个包,你需要*元字符。
如果您阅读了编译器提供给您的消息,则说它无法找到 Class 正则表达式。
答案 1 :(得分:5)
您无法导入包。您导入一个类或包中的所有类:
import java.util.regex.*;
包在树中组织,但import
不是递归的。导入java.util.*
仅导入java.util
中的类,但不导入子包中的类。
答案 2 :(得分:4)
您需要写下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
或者:
import java.util.regex.*;
如果没有星号,你不能只导入java.util.regex
,因为那是一个包;这就像导入java.io
。