使用getFields()
and获取字段列表时, a 中字段getDeclaredFields()
的顺序Java class
是不确定的。
我的验证库中需要这个订单。由于没有保留顺序(尽管有些人声称在 JDK 6 及更高版本中保留了顺序,但不能保证跨 VM)。我无法推测这一点,因为跨字段的注释顺序对于库来说是绝对必要的。
解决这个问题的一种方法是order
在index
我的Annotation
.
让我担心的是,在以下情况下维护代码可能会变得有点麻烦。
- 如果用户想要插入一个新的注释字段,他可能必须重新编号类中的所有其他注释。
- 我可以将
order
orindex
作为浮点数 -float
或者double
但是,如果有 1、1.5、2 等顺序,看起来不太好,
这个问题的优雅解决方案是什么?
这是一个示例代码,以便您了解该问题:
@Required
@TextRule (minLength = 6, message = "You need at least 6 characters.")
private EditText usernameEditText;
@Password
private EditText passwordEditText;
@ConfirmPassword
private EditText confirmPasswordEditText;
@Email
private EditText emailEditText;