gpt4 book ai didi

java - Jackson CSVallowComments仅适用于多行消息?

转载 作者:行者123 更新时间:2023-11-30 05:26:44 33 4
gpt4 key购买 nike

示例 1(失败):

final String line = "# 134";  
CsvMapper mapper = mapperForCsv();
String[] it = mapper.readerFor(String[].class)
.with(mapper.schema().withComments()).readValue(line);

示例 2(成功):

final String line = "# 134";
CsvMapper mapper = mapperForCsv();
MappingIterator<String[]> its = mapper.readerFor(String[].class)
.with(mapper.schema().withComments()).readValues(line);

检查代码后,我发现 withComments 仅适用于多行消息。这是一个错误还是预期的?

最佳答案

当您创建 MappingIterator 对象时,您实际上还没有反序列化任何内容。您需要迭代所有行或使用 its.readAll() 方法来启动反序列化过程。

当您使用readValue方法时,您期望只有一个对象。如果不可用,则会抛出异常以通知您这是不可能的。它不能只是返回 null,因为这将是无提示故障,并且可能会在稍后导致 NPE

使用 MappingIterator 是一个不同的场景,因为您需要迭代它,并且 API 允许您检查下一个元素。因此,很明显,如果没有元素,我们就可以停止迭代。

所以,在我看来这不是一个错误。

关于java - Jackson CSVallowComments仅适用于多行消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58425365/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com