【问题标题】:How to map 2 inner classes to each other如何将 2 个内部类相互映射
【发布时间】:2021-03-07 02:37:34
【问题描述】:

我有 2 个类 A 和 B。它们都有名为 C 的内部类。

public class A {
private C classC;

public static C {
private String field1;
private int field2;

//getter and setter for fields
}
//getter and setter for class C
}

public class B {...} 的结构相同

现在我想在其他地方将这两个 C 类相互映射

A.setC(B.getC);

但是 C 类型不同,所以我无法映射它们。如何将 B.C 映射到 A.C?

【问题讨论】:

  • 如果内部 C 类代表相同的概念(暗示您要分配混合类的值)和相同的结构(您说过),并且不依赖于它们的封闭类(它们是静态的),将它们重构为一个类。

标签: java spring lambda mapping inner-classes


【解决方案1】:

我建议使用构造函数在ClassAClassb 之间映射ClassC

public class ClassA {

  private ClassC classC;

  public static class ClassC {

    private String field1;

    private int feild2;

    public ClassC(ClassB.ClassC classC) {
      this.field1 = classC.field1
      this.feild2 = classC.field2;
     }
   }
 }

然后您可以使用构造函数 new ClassA.ClassB(classC)ClassB.ClassC 映射到 ClassA.ClassC 或反之亦然

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2010-09-27
    • 2013-04-13
    • 1970-01-01
    相关资源
    最近更新 更多