2012-01-09 132 views
4

我试图导入java.util.regex时遇到错误(特别是添加了一行以确定错误在导入中,因为我以前只有import java.util。* )。导入java.util.regex失败

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. *的作品,保持跟踪库的地方的方法应该工作,所以我很困惑这是如何发生的。我必须注意到,我已经测试了一些java编译器在周末找到1,我喜欢并重新安装了一个'clean'openjdk-6今天早上,这可能是问题的起源,但不是确定如何继续。

干杯

EDIT(解决):..我肯定会去隐藏在羞辱了,谢谢大家指出真正愚蠢的错误 。

+0

如果解决了,请不要忘记接受答案! – 2012-01-09 16:08:11

+0

在此处,您可以通过选中绿色勾号来接受正确的答案,以表示您的问题得到了满意的答复 - 无需在标题中添加“已解决”。所以SO会认为这个解决方案,并给回答者提供15个声望点 – Amarghosh 2012-01-09 16:11:08

+0

我知道,只需等待8分钟,我就可以:P – 2012-01-09 16:14:15

回答

10

您的导入定义错误。

你要么需要提供每一类的明确进口,像这样:

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

或做

import java.util.regex.*; 

你试图导入一个包,你需要的*元 - 那个特征。

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

4

你需要写两种:

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

要不然:

import java.util.regex.*; 

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

+0

这是我真正愚蠢的错误,对不起浪费你的时间:(我会去注入一些更多的咖啡因到我的静脉保持清醒 – 2012-01-09 15:58:15

4

您无法导入包裹。您导入一个类或所有类在一个包:

import java.util.regex.*; 

包在一个树的方式组织,但import不是递归。导入java.util.*只导入java.util中的类,但不包含子包中的类。

+0

这绝对是我以前没有意识到的东西,谢谢你指出(非递归行为)。 – 2012-01-09 16:15:54