关于java:compare到对象枚举

compare To object enum

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

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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

我该怎么做?


你可以同时使用EDCOX1 5和EDCOX1 6来比较Java枚举,所以你可以从

1
if(StatePass.p.equals(state))

1
if(StatePass.p == state)

在这里查找更多信息


您可以使用==比较枚举值,这样您的if可以变为

1
if( StatePass.p == state )

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


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