我必须创建一个测试两个对象枚举是否相等的方法。
以下是代码:
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
。
我该怎么做?
答案 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)
。你的问题在哪里?