0

たとえば、ドキュメントの解析によって生成されたオブジェクトの配列があるとします。これらのオブジェクトは次のようになります。

Object{
  id
  text
  anotherProperties
}

最初の2つの属性(idとtext)は解析中に設定されますが、ここで別のプロパティ(追加の属性)を追加します。これは、複雑すぎて決定できないため、解析中に設定できませんが、テキストに依存します。どうすればこれをエレガントな方法で達成できますか?Javaでは?回答ありがとうございます

4

1 に答える 1

1

おそらく、整数のキー(ID)とテキストとanotherProperitesで構成されるDocProperitesの値を持つHas​​hMapを使用します。

次に、anotherPropertiesを設定する準備ができたら、HashMapからオブジェクトを取得して設定できます。

例えば

Map<Integer, DocProperties> map = new HashMap();

DocPropertiesは

public class DocProperties {
    private String text;
    private String anotherProperties;
    //plus the usual setters, getters and ctor
}

次に、anotherPropertiesを設定するときに呼び出すことができます

map.get(key).setAnotherProperties(....);

より動的なものが必要な場合は、DocPropertiesの代わりに別のHashMapを使用できます。HashMapでは、解析時にキーを追加および削除できます。コードが非常に乱雑になり、バグが発生する可能性があるため、これはお勧めしません。

于 2012-09-25T16:21:14.577 に答える