1

オブジェクトのセット(親)がありました。特定の条件について、そのオブジェクトに余分なデータを追加したいと考えています。そこで、親から拡張された子クラスを作成し、データを子に入れ、それを親セットに戻します。理論上は可能です。しかし、このようにするのは良い方法ですか?他に良い方法があれば教えてください。

別の方法は、親の代わりに子のセットを作成することです。データを子に直接入れます。しかし、親セットが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);
4

2 に答える 2