将枚举值转换为逗号分隔字符串的最有效方法

开发者

我有一个 java 类,我在其中存储一个枚举。(显示在这个问题的底部)在这个枚举中,我有一个名为toCommaSeperatedString()的方法,它返回一个逗号分隔的枚举值字符串。我使用的阅读性能的一些信息,在这个问题后一个StringBuilder在这里

我将此枚举的值转换为逗号分隔字符串的方式是最有效的方法吗?如果是这样,删除字符串最后一个字符处多余逗号的最有效方法是什么?

例如,我的方法返回123, 456,但我更喜欢123, 456. 如果我想返回,PROPERTY1, PROPERTY2我可以轻松地使用 Apache Commons 库 StringUtils.join(),但是,getValue当我遍历 String 数组时,我需要通过调用该方法来降低一级

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();
        }
    }
}
安迪·特纳

我不会太担心效率。这样做很简单,只要你不以疯狂的方式去做,它就会很快。如果这是您代码中最显着的性能瓶颈,我会感到惊讶。

我会这样做:

return Arrays.stream(TypeEnum.values())
      .map(t -> t.value)
      .collect(Collectors.joining(','));

如果需要,可以缓存它;但这可能不会产生巨大的差异。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

以有效的方式将python列表转换为用逗号分隔的字符串

将字符向量转换为字符串的最有效方法

使用 lodash 将字符串数组转换为树对象的最有效方法是什么?

将短字符串转换为32位整数的最有效方法是什么?

在Python中使用Pandas将字符串对象转换为时间戳的最有效方法

在golang中将[] []字节转换为[]字符串的最有效方法

将所有“HH:MM:SS”转换为秒并将无效字符串转换为 NaT 的最有效方法是什么?

有没有更好的方法将 dict 转换为由逗号分隔的字符串?

将字符串或列表的映射转换为值的字符串或逗号分隔的值

将datetime字符串转换为有效的日期值和有效的时间值

用分隔符连接字符串的最有效方法是什么

PHP将逗号分隔的字符串转换为点或符号分隔的值,以存储在MySql中

将逗号分隔的字符串转换为最后一个带有逗号的列表

将HTMLCollection转换为数组的最有效方法

将InputStream转换为byte []的最有效方法?

将RGB转换为int的最有效方法?

将DataTable转换为CSV的最有效方法

附加用逗号分隔的字符串的有效方法[Kotlin]

连接字符串的最有效方法

连接字符串的最有效方法?

将单个字符转换为CharSequence的最有效方法

以最有效的形式将32位值存储为C字符串

将所有STDIN都“吸收”到字符串中的最有效方法

C将逗号分隔的字符串转换为数组

将int []转换为逗号分隔的字符串

将逗号分隔的字符串转换为HashSet

将逗号分隔的字符串转换为列表

将数组转换为逗号分隔的字符串

将逗号分隔的字符串转换为GetFiles SearchPattern