java - 编写超长字符串 csv header

标签 java string csv

我必须写出一个 CSV 文件,标题有大约 100 个字段。 此刻,我正在写一个

private static final String HEADER = "header1, header2, header3, ...., header100";

它有效,但它非常困惑且难以阅读。

我应该尝试任何更简洁的方法吗?

更新
我想我会使用 LinkedHashmap(Key 是 columnID,value 是 header1 等)来构建它。这样,在需要时更新字段标题会更容易。

最佳答案

清理代码的一个技巧是使用 Stream#of并在其自己的行中指定每个元素,然后将它们连接在一起:

private static final String HEADER = Stream.of(
        "header1",
        "header2",
        "header3",
        // etc...
).collect(Collectors.joining(", "));

当然,如果您的 header 实际上是“header1”、“header2”等,您可以直接从流中生成它们:

private static final String HEADER =
        IntStream.rangeClosed(1, 100)
                 .mapToObj(i ->  "header" + i)
                 .collect(Collectors.joining(", "));

关于java - 编写超长字符串 csv header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40047056/

相关文章:

java - Android 预览中的空白屏幕

c++ - 删除 std::string 中的空格

python - 使用Python API通过映射将CSV加载到Elasticsearch索引

javascript - 使用 d3.legend 进行强制布局上的交互式图例

java - 找到连音符的四个总和问题 - 空间复杂度?

java - 重复格式标志异常

java - StringEscapeUtils.escapeXml 正在转换它不应该转换的 utf8 字符

vb.net 拆分字符串的最后一部分

从字符串末尾删除多个非字母字符

python - 将 CSV 导入 Blender 时出现 "Could not convert string to float"