使用ElementType数组会在Target注释中出错

时间:2013-11-06 13:09:23

标签: java annotations

import java.lang.annotation.ElementType.*;
import java.lang.annotation.Target;

@Target({TYPE, FIELD, METHOD})
public @interface Inter1 {
}

我在SuppressWarningsDeprecated这样的其他注释中看到,他们直接使用ElementType枚举数组而不使用上面的枚举。但是当我尝试在我的一个自定义注释中使用它时,它会给我一个错误。我需要将它作为ElementType.TYPE或ElementType.FIELD提供它才能工作。这段代码有什么问题?

1 个答案:

答案 0 :(得分:0)

您希望以这种方式使用该注释:

import static java.lang.annotation.ElementType。*;

否则,这样:

@Target({ElementType.TYPE,ElementType.FIELD,ElementType.METHOD})