我有一个包含3层的java对象。
该方案有几个部分:
public class Scenario {
private String scenarioId;
private List<Section> sectionList;
在每个部分中,有几个标签:
public class Section {
private String sectionName;
private List<String> labelList;
我想将3层数据组合成一个字符串,例如:
<Scenario>
<section1>
<label11 data>
<label12 data>
<section2>
<label21 data>
<label22 data>
...
我有以下代码来挑选每一层&#39;参数,但如何将其组合成一个字符串:
String scenarioId = scenario.getScenarioId();
List<Section> sectionList = scenario.getSectionList();
sectionList.forEach(section -> {
String sectionName = section.getSectionName();
List<String> labelList = section.getLabelList();
String data;
if(!labelList.isEmpty()) {
data =copy.LabelData(labelList, input);
}
});
return scenario;
答案 0 :(得分:0)
这是另一种选择。
scenario.getSectionList()
.filter(section -> !section.getLabelList().isEmpty())
.forEach(section -> {
append(section.getSectionName(), section.getLabelList())
});
private final void append(String section, List<String> labels){
sb.append("\t").append(section).append("\n");
labels.forEach(label -> {
sb.append("\t\t").append(label).append("\n");
});
}