【问题标题】:What is this technique and why it is used for and how it works?这种技术是什么,为什么使用它以及它是如何工作的?
【发布时间】: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
}

原帖是Link to original post

  • 我想到的第一个问题是为什么要在类中声明接口。
  • 其次做这种编码有什么好处
  • 最后一个我可以使用这种方法的地方

最后,如果它有用的话,你能说出这个方法,如果没有,那么任何可以更清楚地解释这个的链接。

【问题讨论】:

  • 如果你没有足够的知识,那么请不要投反对票。
  • 或至少给出适当的链接或反对投票的理由
  • 这是一个标记界面。这些注释启用验证。它被称为JSR-303 - Java Bean Validation。当您需要验证用户输入时。以后,我建议问一个问题,而不是三个。
  • 我的反对意见是因为它不清楚你在问什么。 (不是因为我不懂 Java!)
  • 您向我们展示的代码不是“技术”或“方法”。如果您希望我们在该代码中解释特定的“技术”或“方法”,您需要解释您正在谈论的是哪一个。 (在我的脑海中,我可以快速确定 4 种可能性......)

标签: java interface


【解决方案1】:

我发现这个搜索是这样的: Why should we declare an interface inside a class?

因此,在处理某些层次结构时,您可以描述一个“嵌套” 接口,将由包装类的 子类。

在 JDK 中,最重要的例子是 Map.Entry inner 接口,在 Map 接口中定义并由各种实现 HashMap、LinkedHashMap等方式...

【讨论】:

  • @VivekSingh 见this link。它可能有助于解决一些反对意见。
猜你喜欢
  • 2020-08-06
  • 1970-01-01
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-08
  • 1970-01-01
  • 2017-01-14
相关资源
最近更新 更多