2014-01-09 30 views
2

至于@SuppressWarnings annotation适用于VariableDeclaratorId预期@SuppressWarnings

TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE 

我试图做

@SuppressWarnings("unchecked") 
differenceList = (List<Integer>) CollectionUtils.subtract(newId,oldId); 

其中differenceList是事先声明整数列表。 但在Eclipse中,我得到了以下错误 -

Syntax error on token "differenceList", VariableDeclaratorId expected after 
    this token 

,但如果我这样做

@SuppressWarnings("unchecked") 
List<Integer> someList = (List<Integer>) CollectionUtils.subtract(newId, oldId); 

我没有得到任何错误。

为什么在第一种情况下它要求VariableDeclaratorId以及我如何使它工作?我不想在文档所述的方法之前使用@SuppressWarnings,请尽可能在最低级别使用它,以避免在不应压制的情况下隐藏警告。有什么解决办法吗?
(Java 6)

+1

Java 7中的注释(我不确定Java 8)只能用于声明所有内容,而不是其他地方。 –

+0

不,没有解决方法。尝试注释该声明。 –

+0

即使我对该声明进行了注释,并重复调用相同的方法,它也会从第二次开始发出警告。那我该如何压制他们呢? –

回答

2

Java注释只能注释声明。

+0

如果是这样的话,是否有任何解决方法,如果我想用这种方式 –