2014-12-01 3 views
1

Существует два типа данных, которые могут легко смешивать компилятор. Вот они:Библиотека Eclipse

java.util.List 

и

org.eclipse.swt.widgets.List 

мне нужно как в методе я создал и единственный обходной путь я нашел, чтобы использовать абсолютный путь в разделе декларации, по крайней мере, для одного из этих типов. I.e: java.util.List<String> listofstring;

Любые советы?

+4

Нет никаких намеков. Вот как это делается :) –

+0

Почему «компилятор-конструкция»? Это базовая Java. Вы не можете импортировать класс с тем же самым локальным именем дважды, вы должны использовать полностью квалифицированное имя. Так что другого выхода нет. – lexicore

+2

Я бы предложил импортировать ни один из классов и использовать полное имя для обоих. В противном случае вы можете смутить себя или, скорее, человека, который смотрит на ваш код через 6 месяцев. :-) –

ответ

1

В соответствии с Спецификацией языка Java нет обходного пути (кроме параметра типа, что бы не очень хорошая идея).

§7.5 является раздел о декларации импорта: импортированный тип будучи судил к его простым именем:

декларация одного типа импорта (§7.5.1) импортирует один тип с именем, упоминая его каноническое имя

объем импорта является тип импорта - §6.3:

Сфера декларации является областью программы, в которой сущности заявленной в декларации может быть отнесено к использованию простого имени, при условии, что видна

Вы не должны иметь две одинаковые простые имен, потому что затенения - §6.4:

Некоторые заявления не допускаются в пределах локальной переменной , формальный параметр, параметр исключения или локального класса декларации, потому что это было бы невозможно отличить decla используя только простые имена.

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