从上一个问题中得到了这个想法。
无论如何,我的代码是这样的:
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);
^
有任何想法吗?为什么会这样?