定义嵌套的自定义批注时,“嵌套类型的寄存器无法隐藏封闭的类型”

时间:2018-08-07 09:00:22

标签: java interface annotations

我正在定义嵌套的自定义注释,如下所示:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Foo {

    @Retention(RetentionPolicy.RUNTIME)
    @interface Bar {}

    @Retention(RetentionPolicy.RUNTIME)
    @interface Foo {}

}

我的预期用法是:

@Foo.Bar
public void doStuff1(){}

@Foo.Foo
public void doStuff2(){}

请注意,在第二个嵌套批注中,父项和子项的名称相同(Foo),这将导致“嵌套类型的寄存器无法隐藏封闭的类型”。

有人可以建议我解决此问题吗?

0 个答案:

没有答案