ISO/IEC 5218には、次の言葉:ISO/IEC 5218を守っていれば私の 'Person'クラスはint sexですか?
ISO/IEC 5218情報技術 - 人間の男女の表現のためのコードは、言語に依存しない一桁を通じて人の男女の表現を定義する国際規格でありますコード。データベースアプリケーションなどの情報システムで使用できます。 ISO/IEC 5218で規定されている4つのコードは、0 =知られていない、1 =男性、2 =女性、9 =適用されないコードです。
出典:Wikipedia。
これを考慮して、性別を数字として扱うべきですか?このロジックを使用して、私のPerson
コンストラクタはそのようになります:
public class Person {
private String name;
private int sex;
public Person(String name, int sex) {
this.name = name;
this.sex = sex;
}
}
は、私は個人的にPerson p = new Person("Mike", 1)
を持つことは少し混乱であると信じていますが、私はいくつかの方法で、ISO/IECに従うことをしたいと思います。これは正しいのでしょうか、別のアプローチをとるべきでしょうか?
、これが実装の詳細であれば、市場で最も一般的なのは何ですか? 'Person'は単純な' String male '/' String female'や 'char M' /' char F'、 'Person.MALE' /' Person.FEMALE'などを期待していますか?私はあなたのアプローチが本当に好きでした。私はそれを刺激し、レースに使用することができました。 – JChris
業界のベストプラクティスとして、私は異なる(スマートな)人々があなたに異なる答えを与えると確信しています。私がこのシナリオについて知っているもの(多くはない)を与えられただけで、私は列挙としての性別のモデリングに傾くでしょう。 –
Enumは素晴らしい選択肢になるでしょう。あなたはそれを最初に勧めているわけではありません。同僚は同じことを言って、セックスとレースに使うことができます。私はそれと一緒に行くだろうと思う。 – JChris