2

名前、姓、生年月日、住所、電話番号などのデータを保存したいと思います。合計で約 50 のフィールドがあると思われます。そのデータを保存するための良い方法は何でしょうか? Person という名前のクラスを使用して、フィールドに多数のメンバーを配置することを考えていました。元:

public class Person {
    private String fName;
    private String mName;
    private String lName;
    private String dob;
    private String address;
    private String phNumber;
    private String sex;
    private String aka;
    // etc...
    public void setfName(String st) {
        fName = st;
    }
    public String getfName() {
        return fName;
    }
    // etc....
}

このタスクを実行するためのより良い方法はありますか?

編集:

また、各データ フィールドが Microsoft Word テンプレートに挿入されることにも言及しておく必要があります (方法がわかればよいのですが)。その範囲を超えてデータを扱うことを必ずしも計画しているわけではありません。現時点で私が持っているのは、テキストを抽出できた pdf ドキュメントです。そのテキストを解析し、そこからすべてのデータを取得しようとします。次に、そのデータを Word テンプレートに挿入します (可能な場合)。

4

2 に答える 2

5

それはあなたのニーズが何であるかによって異なります。

Stringすべての情報にa を使用することは、おそらく悪い考えです。格納する情報には適切なデータ型を使用する必要があります。

  • Calendar生年月日のインスタンス
  • enum性別のための
  • 番地、番地、番地、都市、州、郵便番号などのフィールドを持つ住所のカスタム クラス。
于 2013-07-07T05:21:17.793 に答える
1

それらをハッシュマップに保存できます:

private Map<String, String> data = new HashMap<String, String>();

public void insertData(String key, String value)
{
    data.put(key, value);
}

public String lookup(String key)
{
    return data.get(key);
}
insertData("fName", "blah blah");
insertData("address", "blah blah");

String address = lookup("address");

次のように、使用可能なすべてのキーのリストを取得できます。

Set<String> keys = data.keySet();

もう 1 つのオプションは、ビルダー パターンを使用することです。

于 2013-07-07T05:19:17.320 に答える