Java 从字符串中形成一个值序列

Java 从字符串中形成一个值序列,java,Java,我需要遍历矩阵结构中的每个元素。比如说, SeatingType Model Back Mech 1 6 120 58 7 121 59 8 在java中,值将作为参数以逗号分隔的字符串形式出现,例如SeatingTpe(1)、Model(6,7,8)等 我需要尽快得到结果 1,6,120,58 1,6,120,59 1,6,121,58 1,6,121,59 1,7,120,58

我需要遍历矩阵结构中的每个元素。比如说,

SeatingType Model Back  Mech 
1              6   120   58
               7   121   59
               8    
在java中,值将作为参数以逗号分隔的字符串形式出现,例如SeatingTpe(1)、Model(6,7,8)等

我需要尽快得到结果

1,6,120,58
1,6,120,59
1,6,121,58
1,6,121,59
1,7,120,58
1,7,120,59
1,7,121,58
1,7,121,59
1,8,120,58
1,8,120,59
1,8,121,58
1,8,121,59
请注意,Model、Back和Mech可以为null。因此,如果Model值为null,则输出应为1,6,58和1,6,59,依此类推。有什么帮助吗


作为一个开始,我尝试从最后一个元素循环(在本例中为“Mech”)>但这非常乏味。还有别的办法吗?我在这里只提供了4个中庭。但要求的是11个属性。我希望如果我能得到4个心房的解决方案,这可以应用于剩余的7个

迭代4个循环:

List<String> seatTypeValues = ...
List<String> modelValues = ...
List<String> backValues = ...
List<String> mechValues = ...

if (seatTypeValues.isEmpty()) { seatTypeValues.add(null); }
... // all 4 lists

for(String seatType : seatTypeValues) {
  for(String model : modelValues) {
    for(String back : backValues) {
      for(String mech : mechValues) {
        // print the CSV
        if (seatType != null) {
          writer.write(seatType);
        }
        if (model != null) {
          writer.write(',');
          writer.write(model);
        }
        if (back != null) {
          writer.write(',');
          writer.write(back);
        }
        if (mech != null) {
          writer.write(',');
          writer.write(mech);
        }
        writer.write("\r\n");
      }
    }
  }
}
列出座位类型值=。。。
列出模型值=。。。
列出返回值=。。。
列表值=。。。
if(seatTypeValues.isEmpty()){seatTypeValues.add(null);}
... // 所有4个列表
用于(字符串seatType:seatTypeValues){
用于(字符串模型:modelValues){
for(返回字符串:返回值){
用于(字符串机械:机械值){
//打印CSV文件
if(seatType!=null){
writer.write(seatType);
}
如果(型号!=null){
writer.write(',');
writer.write(模型);
}
如果(返回!=null){
writer.write(',');
作者:写(回);
}
如果(机械!=null){
writer.write(',');
作家,作家(机械);
}
writer.write(“\r\n”);
}
}
}
}

在发布问题之前,您尝试过什么吗?作为开头,我尝试过从最后一个元素循环(在本例中为“Mech”)>但这非常乏味。还有其他方法吗?递归非常适合这个问题。关于空值的解释中存在矛盾。可能您的意思是“万一Back为空”。请给出一个空值的例子。为了清楚起见,请将空标记为。您两天前问了同样的问题,内容完全相同。务必检查关闭的原因。请务必得到答复。你需要展示你已经尝试过的。嗨,加博。如果模型或背面为空,该怎么办。我们如何处理。如果(seatTypeValues.isEmpty()){seatTypeValues.add(null);}将向列表中添加一个null值,它将进入循环一次。您会接受答案吗?非常感谢您的回复!:-)