为什么@SuppressWarnings会破坏我的代码?

时间:2009-08-13 02:22:45

标签: java generics suppress-warnings

从上一个问题中得到了这个想法。

How to create a generic array in Java?

无论如何,我的代码是这样的:

public class Slice<E>
{
    private E[] data;
    public Slice(Class<E> elementType, int size)
    {
        //@SuppresWarnings({"unchecked"})
        data = (E[])Array.newInstance(elementType, size);
    }

}

我删除了不必要的东西。当抑制指令被注释掉时,这个编译很好。当我取消注释时,我得到了

Error: <identifier> expected    
        data = (E[])Array.newInstance(elementType, size);
             ^

有什么想法吗?为什么会发生这种情况?

2 个答案:

答案 0 :(得分:6)

你不能在那里放一个注释。它必须在public关键字之前。而且您也错误地输入了注释名称:将SuppresWarnings更改为SuppressWarnings

编辑:如果您使用的是像Eclipse这样的IDE,通常会使用自动更正功能来插入注释。当然,它会被插入正确的地方并拼写正确。

答案 1 :(得分:0)

很长一段时间没有java给我,但你把它放在方法上,而不仅仅是在某个地方,对吗?