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