从上一个问题中得到了这个想法。
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);
^
有什么想法吗?为什么会发生这种情况?
答案 0 :(得分:6)
你不能在那里放一个注释。它必须在public
关键字之前。而且您也错误地输入了注释名称:将SuppresWarnings
更改为SuppressWarnings
。
编辑:如果您使用的是像Eclipse这样的IDE,通常会使用自动更正功能来插入注释。当然,它会被插入正确的地方并拼写正确。
答案 1 :(得分:0)
很长一段时间没有java给我,但你把它放在方法上,而不仅仅是在某个地方,对吗?