我有一组对象(父母)。对于特定条件,我想向该对象添加额外数据。所以我创建了一个从父类扩展的子类,将数据放入子类并将其放回父集。从理论上讲,这是可能的。但这是这样做的好方法吗?请建议我任何其他更好的方法。
另一种方法是创建一组子项而不是父项。直接把数据给孩子。但我不能这样做,因为父集将转换为 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);