比较对象枚举

时间:2011-12-03 09:20:29

标签: java

我必须创建一个测试两个对象枚举是否相等的方法。

以下是代码:

public Passenger{
     private String name_pass;
     public enum StatePass{
          b,c,p
     };
     private StatePass state;

     public Passenger(String name_pass,StatePass state){
            this.name_pass=name_pass;
            this.state=state;
     }

     public boolean isConfirmed(){
          if()
              return true;

          return false;      
     }
}  

if()内,我必须检查字段状态是否等于p

我该怎么做?

3 个答案:

答案 0 :(得分:2)

您可以同时使用equals()==来比较Java枚举,因此您可以选择

if(StatePass.p.equals(state))

if(StatePass.p == state)

查看here了解更多信息

答案 1 :(得分:1)

您可以使用==比较枚举值,以便if成为

if( StatePass.p == state )

注意:在构造函数中,您的第二个参数必须是StateClass而不是State,否则您永远不能调用this.state=state

答案 2 :(得分:0)

尝试使用state.equals(StatePass.p)。你的问题在哪里?