很高兴看到有人用这个。
我是
Quirk-CSV
.这个用例解决起来还不错。您可以使用这样的内联包装器:
@CSVReadBinding(header = "agents", wrapper = AgentsReadWrapper.class)
@CSVWriteBinding(header = "agents", wrapper = AgentsWriteWrapper.class)
private List<Integer> agentIds;
public static class AgentsReadWrapper implements ReadWrapper<List<Integer>> {
@Override
public List<Integer> apply(String str) {
if(Objects.isNull(str) || str.trim().isEmpty()){
return new ArrayList<>();
}
return Arrays.stream(str.split("\\|"))
.map(String::trim)
.map(Integer::valueOf)
.collect(Collectors.toList());
}
}
public static class AgentsWriteWrapper implements WriteWrapper<List<Integer>>{
@Override
public String apply(List<Integer> str) {
StringJoiner sj = new StringJoiner("|");
str.stream().map(String::valueOf).forEach(sj::add);
return sj.toString();
}
}
如果您有任何问题,也可以在存储库中发布问题。我会尽快给你答复。