2012-03-07 4 views
1

Предположим, что у меня есть аннотация, которая генерирует предупреждение. Аннотации относятся к методу.Работает ли @SuppressWarnings с предупреждениями, генерируемыми аннотациями?

например.

@AnnotationThatGeneratesAWarning 
public void doSomething() { 
    //stuff 
} 

Могу ли я использовать @SuppressWarnings для его подавления? @SuppressWarnings работает с предупреждениями, генерируемыми аннотациями, или просто предупреждениями, сгенерированными самим методом?

+0

Вы должны опубликовать фактический код, конкретный пример аннотации и предупреждения, о котором сообщается. –

+0

Я привел конкретный пример в моем ответе ниже. Однако речь идет не о конкретном экземпляре. –

ответ

3

Какая IDE вы используете? Какой код генерирует предупреждение ?. Хорошая среда IDE обычно предлагает String для использования в @SuppressWarnings, но лучше сначала попытаться исправить предупреждение, если это невозможно, и как последний ресурс использовать @SuppressWarnings.

EDIT:

Вы можете сказать, что @SuppressWarnings не будет работать с другими примечаниями, глядя на его documentation. Как вы можете видеть:

@Target(value={TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE}) 

Цель сделать не включают ANNOTATION_TYPE, а это означает, что @SuppressWarnings не может быть применена к другим аннотациям.

+0

Я использую Eclipse, и предупреждение появляется из аннотации Spring MVC. Eclipse не предлагал, как подавить предупреждение, но я смог исправить код достаточно легко. На самом деле это не так, я отредактирую свой вопрос. –

+0

@CosmicFlame Я обновил свой ответ, теперь я верю, что это ответ на ваш вопрос :) –

+0

Yup, вот что я искал. Благодаря! –

0

Я тестировал следующее в Eclipse. Аннотации взяты из Spring MVC.

@SuppressWarnings("all") 
@RequestMapping("/{foo}/somepage.do") 
public void serveAPage() { 

} 

{foo} в @RequestMapping генерирует предупреждение, как это не присваивается переменной *. Предупреждающее описание «Шаблон URI шаблона« foo »не определен».

@SuppressWarnings("all") должен подавлять все предупреждения для метода. Несмотря на это, Eclipse все же показывает предупреждение.

Насколько я могу судить, вы не можете использовать @SuppressWarnings для подавления предупреждений, вызванных аннотацией.

* Это был код, который первоначально вызвал вопрос. Исправление кода, поэтому оно не вызывает исключения, тривиально, а не вопрос.

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