具有重复注释的Java类。它';有可能吗?
可以用相同的注释定义一个类两次吗 例如,我有@interface注释具有重复注释的Java类。它';有可能吗?,java,reflection,annotations,Java,Reflection,Annotations,可以用相同的注释定义一个类两次吗 例如,我有@interface注释 @Annotation(value = 1) @Annotation(value = 2) public class MyClass{ } 您可以定义另一个注释@Annotations,其值是@annotation的数组: public @interface Annotations { public Annotation[] value(); } 它被用作 @Annotations ( { @Anotati
@Annotation(value = 1)
@Annotation(value = 2)
public class MyClass{
}
您可以定义另一个注释
@Annotations
,其值是@annotation
的数组:
public @interface Annotations
{
public Annotation[] value();
}
它被用作
@Annotations
(
{
@Anotation(value = 1)
, @Anotation(value = 2)
}
)
public class MyClass {
}
您可以定义另一个注释
@Annotations
,其值是@annotation
的数组:
public @interface Annotations
{
public Annotation[] value();
}
它被用作
@Annotations
(
{
@Anotation(value = 1)
, @Anotation(value = 2)
}
)
public class MyClass {
}
是的,您需要定义包装器批注:
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target({ElementType.TYPE})
public @interface AnotationList {
Anotation[] value () default {};
}
然后你可以这样使用它:
@AnotationList({
@Anotation(value = 1),
@Anotation(value = 2)
})
public class MyClass{
}
是的,您需要定义包装器批注:
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target({ElementType.TYPE})
public @interface AnotationList {
Anotation[] value () default {};
}
然后你可以这样使用它:
@AnotationList({
@Anotation(value = 1),
@Anotation(value = 2)
})
public class MyClass{
}
还没有。我稍后会尝试,但现在我正处于设计阶段。谢谢你就我所记得的(我不久前也有同样的问题)这是不可能的。但是,您可以定义另一个注释
@Annotations
,其值是@annotation
的数组。例如,在JPAIt中完成此操作可能需要一分钟的时间来尝试?也许更少?设计时并不一定意味着卸载javac。尽管如此,还是要感谢回答者们,他们采取了额外的步骤,回答了下面的问题(“我如何绕过这个限制?”)。Java 8的可能副本是语言的一个内置部分。还没有。我稍后会尝试,但现在我正处于设计阶段。谢谢你就我所记得的(我不久前也有同样的问题)这是不可能的。但是,您可以定义另一个注释@Annotations
,其值是@annotation
的数组。例如,在JPAIt中完成此操作可能需要一分钟的时间来尝试?也许更少?设计时并不一定意味着卸载javac。尽管如此,还是要感谢回答者,他们采取了额外的步骤并回答了后续问题(“我如何绕过该限制?”)。Java 8的可能副本是语言的内置部分。在中不再(显式)需要它。在中不再(显式)需要它。