2011-02-09 11 views
0

Javaでenumを使用する方法がわかりません。私は次の例でそれを使用していますか?enumsの使い方は?

enum Sex {M, F}; 

public class person{ 
    private person mom; 
    private Sex sex; 

    public person(Sex sex){ 
     this.sex = sex; 
     //is this how i'd set sex? 
    } 

    public void setMom(person mom){ 
     if(mom.sex == 'M'){} 
     //is this how i would check to see if the sex of the passed person argument is male? 
    } 
} 
+9

私はグーグル "Javaの列挙チュートリアル"の代わりに** Stackoverflowはありません** ... –

+1

@ジョアキン:うわー、今日は私が今日のコードレビューの日だったと思いましょうか? :) – Luis

+1

@ルイス:SOが理想的な場所である(たくさんの)質問があります。一般的なチュートリアルは単純にそのセットの中にはありません。 –

答えて

5

これは、あなたが使用したいものである:

if(mom.sex == Sex.M) 

しかし、私は間違いなく男性と女性としてのenum定数を綴るでしょう。あなたは、単に書く必要がありますあなたの場合は

2

public void setMom(person mom){ 
    if(mom.sex == Sex.M){} 
    //is this how i would check to see if the sex of the passed person argument is male? 

}

enumsあなたはより多くの情報のためhttp://download.oracle.com/javase/tutorial/java/javaOO/enum.htmlに見ることができますが、==

との平等をチェックすることができますのでご注意ください。

2

nullと考えていない可能性があります。例えばあなたは私が時間をかけてより多くのオプションを得ることが列挙型として

if(mom.sex != Sex.FEMALE) // not the only valid option. 

としてそれを記述し検証する場合mom.sexはMALEFEMALEまたは

null可能性があり、これは、ベストプラクティスの私見です。

Personは、作成/生まれたときにmomである必要があります。私はこれをコンストラクタに追加し、おそらくそれを変更することを許可しません。すなわち、最終的にmomおよび/またはsexを作成し、セッターを落とす。

関連する問題