2 votes

Un bon moyen de stocker les données d'une personne en Java ?

Je voudrais stocker certaines données telles que le prénom, le nom, la date de naissance, l'adresse, le numéro de téléphone, etc. Il y aura probablement environ 50 champs au total. Il y aura probablement une cinquantaine de champs au total. Quel serait le meilleur moyen de stocker ces données ? Je pensais simplement utiliser une classe nommée Person et y mettre un tas de membres pour les champs. Ex :

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....
}

Existe-t-il une meilleure façon d'effectuer cette tâche ?

EDIT :

Je dois également mentionner que chacun des champs de données sera (si j'arrive à trouver comment le faire) inséré dans un modèle Microsoft Word. Je n'ai pas nécessairement l'intention de travailler avec les données au-delà de ce cadre. Ce que j'ai pour le moment, c'est un document PDF dont j'ai pu extraire du texte. Je vais analyser ce texte et tenter d'en extraire toutes les données. Je vais ensuite insérer ces données dans le modèle Word (si c'est possible).

5voto

Jeffrey Points 22209

Cela dépend de vos besoins.

Utilisation d'un String pour chaque élément d'information est probablement une mauvaise idée. Vous devez utiliser des types de données appropriés pour les informations que vous stockez.

  • A Calendar instance pour la date de naissance
  • Un site enum pour le genre
  • Une classe personnalisée pour les adresses qui comporte des champs pour le numéro de maison, la rue, le numéro d'unité, la ville, l'état, le code postal, etc.

1voto

Eng.Fouad Points 44085

Vous pourriez les stocker dans un hashmap :

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");

Vous pourriez obtenir une liste de toutes les clés disponibles comme ceci :

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

Une autre option consiste à utiliser le motif de bâtisseur .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X