【问题标题】:Why does @SuppressWarnings break my code?为什么@SuppressWarnings 会破坏我的代码?
【发布时间】:2009-08-13 02:22:44
【问题描述】:

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

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);
    }

}

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

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

有什么想法吗?为什么会这样?

【问题讨论】:

    标签: java generics suppress-warnings


    【解决方案1】:

    您不能在此处添加注释。它必须在 public 关键字之前。而且您还打错了注解名称:将SuppresWarnings 更改为SuppressWarnings

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

    【讨论】:

    • 刚刚在我发布后的评论中看到了这一点。谢谢:)
    【解决方案2】:

    我很久没有使用 java 了,但你会把它放在方法上,而不是放在某个地方,对吧?

    【讨论】:

    • 在另一个线程中,他们将它放在您建议的方法上。我刚刚尝试过,得到了这个错误:找不到符号符号:类 SuppresWarnings 位置:类 Slice @SuppresWarnings({"unchecked"}) ^
    • 是的,所以您需要找到该类所在的包并导入它。
    • @silky: 不......他只需要正确拼写注释类名称:-)
    • 是的,我在发帖几秒钟后注意到了这一点,因为我滚动查看您的答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    相关资源
    最近更新 更多