我想创建一个枚举类,让我们说:
public enum runtimeStatus {
STATUS1("passed"),
STATUS2("failed"),
STATUS3("notrun");
private String status;
private runtimeStatus(String statusCode) {
status = statusCode;
}
public String getStatus() {
return status;
}
}
好的,我正在使用runtimeStatus.STATUS1.getStatus();
访问这些属性
但是我如何才能完成将布尔值传递给该调用,因此我获得了不同的输出。让我们说STATUS1如果传递boolean为TRUE返回“传递”如果它的FALSE返回“pass-type2”
答案 0 :(得分:1)
检查以下方式。我们可以在枚举中定义多个字段,并在枚举方法中使用逻辑。
public enum runtimeStatus
{
STATUS1("passed", "passedType2"),
STATUS2("failed", "failedType2"),
STATUS3("notrun", "notRunType2");
private String statusTrue;
private String statusFalse;
private runtimeStatus(String statusTrueCode, String statusFalseCode)
{
this.statusTrue = statusTrueCode;
this.statusFalse = statusFalseCode;
}
public String getStatus(boolean value)
{
return (value == true) ? statusTrue : statusFalse;
}
}
答案 1 :(得分:0)
重载getStatus方法。
public String getStatus(boolean statusType) {
if (statusType) {
return getStatus();
}
return "passed-type2";
}
public String getStatus() {
return status;
}
答案 2 :(得分:0)
将以下方法添加到现有enum
:
public String getStatus(boolean passed) {
if(passed) {
return STATUS1.getStatus();
}else {
return STATUS2.getStatus();
}
}