[英]Java enum, different value depending on bool value
我想創建一個枚舉類,可以這樣說:
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();
訪問這些屬性runtimeStatus.STATUS1.getStatus();
但是如何完成將布爾值傳遞給該調用的方法,所以得到了不同的輸出。 對於STATUS1,如果傳遞的布爾值為TRUE,則返回“傳遞”;如果FALSE為FALSE,則返回“傳遞的類型2”
檢查以下方式。 我們可以在枚舉中定義盡可能多的字段,並在枚舉方法中具有邏輯。
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;
}
}
重載您的getStatus方法。
public String getStatus(boolean statusType) {
if (statusType) {
return getStatus();
}
return "passed-type2";
}
public String getStatus() {
return status;
}
將以下方法添加到您現有的enum
:
public String getStatus(boolean passed) {
if(passed) {
return STATUS1.getStatus();
}else {
return STATUS2.getStatus();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.