【发布时间】:2018-01-30 12:22:11
【问题描述】:
我最近在 stackoverflow 上提出了问题,虽然我得到了解决方案,但我无法理解那里的代码编写方式。这是代码
public class User {
@NotNull(message = "First name can't be blank", groups = {Step1.class, FinalStep.class})
private String firstName;
@NotNull(message = "Last name can't be blank", groups = {Step1.class, FinalStep.class})
private String lastName;
@NotNull(message = "Email can't be blank", groups = {Step1.class, FinalStep.class})
private String emailAddress;
@NotNull(message = "Please provide a valid address", groups = {Step2.class, FinalStep.class}) // this one also
private Address address;
public interface Step1 {} // this one
public interface Step2 {}// this one
public interface FinalStep {} // this one
}
- 我想到的第一个问题是为什么要在类中声明接口。
- 其次做这种编码有什么好处
- 最后一个我可以使用这种方法的地方
最后,如果它有用的话,你能说出这个方法,如果没有,那么任何可以更清楚地解释这个的链接。
【问题讨论】:
-
如果你没有足够的知识,那么请不要投反对票。
-
或至少给出适当的链接或反对投票的理由
-
这是一个标记界面。这些注释启用验证。它被称为JSR-303 - Java Bean Validation。当您需要验证用户输入时。以后,我建议问一个问题,而不是三个。
-
我的反对意见是因为它不清楚你在问什么。 (不是因为我不懂 Java!)
-
您向我们展示的代码不是“技术”或“方法”。如果您希望我们在该代码中解释特定的“技术”或“方法”,您需要解释您正在谈论的是哪一个。 (在我的脑海中,我可以快速确定 4 种可能性......)