天天看點

Java中string轉enum_将Enum值轉換為逗号分隔String的最有效方法

我有一個java類,我在其中存儲一個枚舉 . (顯示在這個問題的底部)在這個枚舉中,我有一個名為 toCommaSeperatedString() 的方法,它傳回逗号分隔的枚舉值String . 我在這個問題here中閱讀了一些有關性能的資訊後,我正在使用StringBuilder .

我将這個枚舉值轉換為commaSeperatedString的方式是這樣做的最有效方式,如果是這樣,那麼在String的最後一個字元處删除額外逗号的最有效方法是什麼?

例如,我的方法傳回 123, 456, 但是我更喜歡 123, 456 . 如果我想傳回 PROPERTY1, PROPERTY2 我可以輕松使用Apache Commons庫StringUtils.join(),但是,當我周遊String數組時,我需要通過調用 getValue 方法來降低一級 .

public class TypeEnum {

public enum validTypes {

PROPERTY1("123"),

PROPERTY2("456");

private String value;

validTypes(String value) {

this.value = value;

}

public String getValue() {

return value;

}

public static boolean contains(String type) {

for (validTypes msgType : validTypes.values()) {

if (msgType.value.equals(type)) {

return true;

}

}

return false;

}

public static String toCommaSeperatedString() {

StringBuilder commaSeperatedValidMsgTypes = new StringBuilder();

for(validTypes msgType : validTypes.values()) {

commaSeperatedValidMsgTypes.append(msgType.getValue() + ", ");

}

return commaSeperatedValidMsgTypes.toString();

}

}

}