我必须写出一个CSV文件,标题有100个字段。 此刻,我正在写
private static final String HEADER = "header1, header2, header3, ...., header100";
它有效,但它非常混乱且难以阅读。
我应该尝试哪种更简洁的方式?
UPDATE
我想我将使用LinkedHashmap(Key为columnID,值为header1等)来构建它。这样,如果需要,更新字段标题会更容易。
答案 0 :(得分:4)
清理代码的一个技巧是使用Stream#of
并在其自己的行上指定每个元素,然后将它们连接在一起:
private static final String HEADER = Stream.of(
"header1",
"header2",
"header3",
// etc...
).collect(Collectors.joining(", "));
当然,如果你的标题实际上是" header1"," header2"等,你可以直接从流生成它们:
private static final String HEADER =
IntStream.rangeClosed(1, 100)
.mapToObj(i -> "header" + i)
.collect(Collectors.joining(", "));
答案 1 :(得分:2)
嗯,您可以使用com.google.common.base.Joiner,如果这对您来说不那么难看:
HEADER = Joiner.on(", ").join("header1", "header2")