2013-04-10 5 views
1

Как я могу подавить это предупреждение:Как подавить предупреждение компилятора?

LinkedList is a raw type. References to generic type LinkedList<E> 
should be parameterized 

Это не сработал:

@SuppressWarnings("unchecked") 
+5

Почему ты просто не параметризировать его? – ApproachingDarknessFish

+0

http://stackoverflow.com/questions/5313723/supress-warning-in-code?rq=1 – herinkc

+0

Я не могу parmeterize его, потому что я хочу сделать массив arraylist, который является LinkedList [] name = new LinkedList []; , но если я parmtrize это станет illigal – KaramJaber

ответ

4

@SuppressWarnings ("rawtypes") является аннотации используются для подавления этого.

Хотя вам было бы лучше отключить параметризацию, если вы не работаете с устаревшим кодом.

+0

это не работает ... Я должен написать его перед методом, который дает предупреждение? он пишет для меня "" Неподдерживаемые @SuppressWarnings ("rawTypes") "" – KaramJaber

+0

Какую версию Java вы используете? RawTypes доступен с Java6 и далее. – prashant

+0

Извините за опечатку. Обновлен ответ.Обратите внимание на случай для rawtypes – prashant

0

Если вы используете eclipse, наведите курсор на текст (возможно, желтый подчеркнутый) и сделайте ctrl + 1, чтобы найти варианты, доступные для устранения проблемы.

Но вы всегда должны параметризовать свои списки.

Если вы не хотите, чтобы параметризовать затем использовать

@SuppressWarnings("rawtypes") 
+0

Я не могу parmeterize его, потому что я хочу сделать массив arraylist, который LinkedList [] name = new LinkedList []; но если я parmtrize это станет illigal – KaramJaber

+0

использовать @SuppressWarnings ("rawtypes") – NullPointerException

0

В зависимости от версии Java вы используете, это звучит, как вам нужно изменить связанный список инстанциацию.

Сырые типы.

Когда исходный код скомпилирован для использования в Java 5.0, который был разработан до Java 5.0 и использует классы, которые являются общими для Java 5.0, тогда предупреждения «непроверенные» неизбежны. Например, если «устаревший» код использует такие типы, как List, которые раньше были обычными (не общие) типы до Java 5.0, но являются общими для Java 5.0, все эти виды использования List считаются использованием необработанного типа в Java 5.0. Использование необработанных типов приведет к «непроверенным» предупреждениям. Если вы хотите исключить «непроверенные» предупреждения, вы должны переконфигурировать «устаревший» код и заменить все необработанные виды использования списка с соответствующими экземплярами списка, такими как List, List, List и т. Д. Все «непроверенные» предупреждения могут быть устранены сюда.

В исходном коде, разработанном для Java 5.0, вы можете предотвратить «непроверенные» предупреждения в первую очередь, никогда не используя необработанные типы. Всегда указывайте аргументы типа, когда используете общий тип. Нет ситуаций, в которых вы вынуждены использовать необработанный тип. В случае сомнений, когда вы чувствуете, что не знаете, какой аргумент типа будет уместным, попробуйте неограниченный шаблон «?».

В сущности, «непроверенные» предупреждения из-за использования необработанных типов могут быть устранены, если у вас есть доступ к устаревшему коду и вы хотите его повторно спроектировать.

http://www.angelikalanger.com/GenericsFAQ/FAQSections/TechnicalDetails.html#FAQ001

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