当前位置:  开发笔记 > 编程语言 > 正文

包含其他注释的注释成员?

如何解决《包含其他注释的注释成员?》经验,为你挑选了1个好方法。

我想创建一个自定义注释(使用Java),它将接受其他注释作为参数,如:

public @interface ExclusiveOr {
    Annotation[] value();
}

但这会导致编译器错误"注释成员的无效类型".

对象[]也不起作用.

有办法做我想要的吗?



1> Michael Myer..:

产生错误是因为您不能将接口用作注释值(将其更改为Comparable,您将得到相同的错误).来自JLS:

如果在注释类型中声明的方法的返回类型是除以下之一之外的任何类型,则为编译时错误:其中一个基本类型String,Class以及任何调用Class,枚举类型,注释类型或前面类型之一的数组.如果在注释类型中声明的任何方法具有覆盖等同于在类或接口中声明的任何publicprotected方法的签名,则它也是编译时错误.Objectannotation.Annotation

我担心我不知道一个好的解决方法,但现在至少你知道为什么你会得到错误.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有