在Java中将具有一个不同字段的两个类合并为一个

时间:2018-05-24 10:52:56

标签: java

有两个类,所有字段都相同,除了一个。

  

A类:字符串S1;字符串S2;

     

B类:字符串S1;字符串S3;

期望的结果:

  

C类:字符串S1;列出{S2,S3};

是否有任何紧凑的解决方案可以合并到另一个将不同字段合并到集合中的类?字符串S1 - 主键。

1 个答案:

答案 0 :(得分:0)

假设您要在编译时创建Object类型C。你介绍另一个类。如下所示:

public class C {

     final String S1;
     final String List<String> S2AndS3;

     public C(A a, B b){
          if(!a.S1.equals(b.S1)){
               throw new IllegalArgumentException("Not the same primary key");
          }
          S1 = a.S1;
          S2AndS3 = Arrays.asList(a.S2, b.S3);
     }
}       

然后可以像这样轻松调用:

A a = ...;
B b = ...;
C c = new C(a,b);

&#34;合并&#34;根据需要将两个对象合二为一。