2013-06-12 2 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" говорят

Reader cannot be resolved to a type 

Почему это? У меня есть

import java.lang.Object; 

Что я даже не думаю, что это необходимо? Почему компилятор не понимает тип?

+7

'import java.lang.Object;' совершенно бессмысленно. – christopher

+1

Если вы хотите использовать 'Reader', то это то, что вы должны импортировать. –

ответ

3

В Eclipse, нажав CTRL SHIFTO может помочь много;)

Поскольку java.io.Reader находится под пакетом java.io, вам необходимо импортировать этот пакет.

import java.io.Reader; 

или

import java.io.*; 

В качестве альтернативы, вы можете квалифицировать его непосредственно в коде:

java.io.Reader test = null; 

(что полезно, когда вам нужно использовать два различных класса с тем же именем)

Обратите внимание, что пакет java.lang автоматически доступен, поэтому нет необходимости в impo rt это.

+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.* не требуется, поскольку они импортируются по умолчанию.

Смежные вопросы