2011-02-09 91 views
0

我不確定如何在Java中使用枚舉。我在下面的例子中使用它嗎?如何使用枚舉?

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

Stackoverflow是**不是**谷歌搜索「Java枚舉教程」的替代品... – 2011-02-09 14:26:14

回答

5

這是你想要的內容:

if(mom.sex == Sex.M) 

不過,我肯定會拼出來的枚舉常量,男性和女性。

2

您可能沒有考慮過的第三種可能性是null。例如mom.sex可能是MALEFEMALEnull

如果你來驗證我將它寫成

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

作爲一個枚舉類型可能會隨着時間的推移得到更多的選擇是什麼,這是最好的做法恕我直言。

A Person創建/出生時應該有一個mom。我會將此添加到構造函數中,並可能不允許更改它。即使mom和/或sex最終落下並且放下設定器。