我有一個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();
}
}
}