【发布时间】:2013-05-26 04:43:10
【问题描述】:
Java 注释顺序是否在运行时保持不变?我检查了 OpenJDK 1.7.0_21 - 它保留了注释顺序。我可以期待所有 Java VM 上的持久性吗?
【问题讨论】:
-
我很好奇:这有什么关系?
-
我想知道,如果我可以使用额外的注释来为早期的注释指定额外的参数(例如@DoSomething("f1") @Arg("arg1") @Arg("arg2") @ DoSomething("f2") @Arg("arg2.1") @Arg("arg2.2") )
-
我不会那样做...看起来很混乱。普通的
@DoSomething(value="f1", a1="arg1", a2="arg2"); @DoSomething(value="f2", a1="arg2.1", a2="arg2.2");有什么问题? -
我猜这不是正确的例子,它真的很混乱。我正在研究 HTML 表单验证器,它从方法和字段注释中加载所有验证请求。因此验证器注释可能如下所示: @Field("username") @NotEmpty @ErrorMessage("Requred Field") @Validator(controller.users.NewUsernameValidator.class) @ErrorMessage("This username is already used") public String getUsername () ...但这只有在注释顺序是持久的情况下才有效,否则,我必须将 errorMessage 字符串作为参数放入每个注释。
-
您是否尝试从头开始重做 JSR 303 及其实现?查看 Hibernate Validator。
标签: java reflection annotations