Java中存储字符串公共部分、避免重复定义的最优方案是什么?
实现方案优化
优先选择静态不可变常量存储公共配置串,相比你当前用方法返回的实现性能更优,同时可以通过换行拆分配置项的方式完全解决长串可读性差的问题:
// 公共配置常量,单个配置项单独换行,可读性不受影响 private static final String COMMON_CONFIG = "config1," + "config2," + "config3," + "config4," + "config5," + "config6," + "config7," + "config8," + "config9";
静态常量仅会在类加载时初始化一次,不会每次调用都重复生成字符串,性能开销远低于方法返回的形式。拆分换行后每个配置项单独占一行,和你原来写在方法里的可读性完全一致,不会出现长串难读的问题。
你还可以进一步封装统一的配置生成方法,避免每次手动拼接前缀和逗号,减少重复代码:
private String buildConfig(String customPrefix) { return customPrefix + "," + COMMON_CONFIG; }
使用时直接传入差异化前缀即可:
String first = buildConfig("differentConfig1"); String second = buildConfig("differentConfig2"); String third = buildConfig("differentConfig3");
如果使用Java 15及以上版本,还可以用文本块编写公共配置,代码更简洁:
private static final String COMMON_CONFIG = """ config1,\ config2,\ config3,\ config4,\ config5,\ config6,\ config7,\ config8,\ config9\ """;
内容的提问来源于stack exchange,提问作者jhthewow
相关产品推荐
相关产品推荐

