6
之前的,我用来声明手工包装注释,与阵列,然后调用它像这样:订单自动换@Repeatable注释
@Foos({ @Foo(0), @Foo(1), @Foo(2) })
public void bar() {}
由于我形成阵列与{ ... }
初始化,稍后通过反射访问此方法时,该命令与声明的顺序相比更为明显。
但是,当我使用Java 8中的新注释@Repeatable
时,我是否保证订单将保留?
我宣布一组简单的注解:
public @interface Foos {
Foo[] value();
}
@Repeatable(Foos.class)
public @interface Foo {
int value();
}
和最多样化的情况下运行一些测试:
@Foo(0) @Foo(1) @Foo(2)
public void bar1() {}
@Foo(2)
@Deprecated @Foo(5)
@Foo(10)
public void bar2() {}
,一切似乎完美的工作(通过反射访问时),但我不想依赖无证材料。对我来说,看起来应该是这样,但我无法在任何地方找到它!任何人都可以阐明这一点吗?
谢谢!现在我感到安全使用这:) – 2014-09-28 17:47:10