【发布时间】:2015-04-15 05:49:50
【问题描述】:
我有一组对象(父对象)。对于特定条件,我想向该对象添加额外数据。所以我创建了一个从父类扩展的子类,将数据放入子类并将其放回父集。从理论上讲,这是可能的。但这是这样做的好方法吗?请建议我任何其他更好的方法。
另一种方法是创建一组 Child 而不是 Parent。直接把数据给孩子。但我不能这样做,因为父集将转换为 Json,并且所有父对象都不需要多余的字段。
final LinkedHashSet<Parent> parentSet = new LinkedHashSet<Parent>();
parentSet.add(new Parent("AAA"));
parentSet.add(new Parent("ABC"));
parentSet.add(new Parent("DXX"));
parentSet.add(new Parent("GHI"));
final LinkedHashSet<Parent> childSet = new LinkedHashSet<Parent>();
final Iterator<Parent> iterator = parentSet.iterator();
while (iterator.hasNext()) {
final Parent parent = iterator.next();
if (parent.str.startsWith("A")) {
iterator.remove();
childSet.add(new Child(parent.str, 27));
}
}
parentSet.addAll(childSet);
【问题讨论】:
标签: java polymorphism linkedhashset