2013-06-12 187 views
-1

我可以使用一些新的Java指針。閱讀器無法解析爲類型?

我正在使用返回「Reader」類型的函數。這裏記載:

http://docs.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true

這裏是我的代碼行:

Reader test = null; 

test = WWIO.openReader("http://google.com"); 

第二行是好的,但第一個放了一個錯誤的 「讀者」 的說法

Reader cannot be resolved to a type 

這是爲什麼?我有

import java.lang.Object; 

我甚至不認爲是必要的?爲什麼編譯器不理解類型?

+7

'import java.lang.Object;'是完全沒有意義的。 – christopher

+1

如果你想使用'Reader',那麼你應該導入。 –

回答

3

在Eclipse中,按CTRL SHIFTØ可以幫助很多

由於java.io.Reader是包java.io下,你需要導入包。

import java.io.Reader; 

import java.io.*; 

或者,你可以直接在代碼中限定它:

java.io.Reader test = null; 

(當你需要使用兩個不同的類具有相同的名稱時非常有用)

請注意,java.lang包自動可用,所以不需要關閉rt it。

+3

@ZouZou通常它詢問你想要哪個導入,如果有多個可能的話。 – arshajii

+1

@arshajii WOOPS,你是對的! –

3

導入使用

import java.io.*; 

編譯器不包括未使用的進口,因此使用星號將不會有任何負面影響讀者。

更直接明顯

import java.io.Reader;

+0

據我所知,這並不影響程序,它更多的是偏好問題。我喜歡使用它,因爲它避免了會導致我不得不滾動的代碼行,並且它立刻否定了從同一個包導入兩次的需要。編輯:這是爲了迴應有人說直接導入更好。 –

7

雖然

import java.lang.Object; 

實在是沒有必要的,你需要包括

import java.io.Reader;  
3

你應該有

import java.io.Reader; 

導入java.lang.Object是完全沒有必要的。實際上,從java.lang.*包中導入每個類都是不必要的,因爲它們是默認導入的。