2012-01-09 156 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