Java 如何转换列表<;字符串[]>;列出<;对象>;使用modelmapper或stream().map()?

Java 如何转换列表<;字符串[]>;列出<;对象>;使用modelmapper或stream().map()?,java,java-stream,lombok,modelmapper,Java,Java Stream,Lombok,Modelmapper,我有以下数据作为java中字符串[]的列表,是否可以使用stream().map()进行转换?这是列表的一个示例 Data's type is List<String[]> data which contains the following structure: ["a","b","c","d"], ["e","f","g","e&qu

我有以下数据作为java中字符串[]的列表,是否可以使用stream().map()进行转换?这是列表的一个示例

Data's type is List<String[]> data which contains the following structure:
["a","b","c","d"],
["e","f","g","e"],
["e","f","g","e"]

由于您拥有类
CustomData
的所有构造函数参数,因此可以执行以下操作

    data.stream()
        .map(row -> new CustomData(row[0], row[1], row[2], row[3]))
        .collect(Collectors.toList());

有没有不使用索引的替代方案?因为如果有一个新参数添加到类中,我需要修改构造函数的行和类本身。(如果不可能,我会将其标记为答案)。例如,您可以在
CustomData
class
public static CustomData from(String[]input){返回新的CustomData(input[0],输入[1],输入[2],输入[3]);}
并将此逻辑封装在此类中并在流中使用。
 @Getter
 @Setter
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
 public class CustomData(){
   @Builder.Default
   private String valueA="";
   @Builder.Default
   private String valueB="";
   @Builder.Default
   private String valueC="";
   @Builder.Default
   private String valueD="";
}
    data.stream()
        .map(row -> new CustomData(row[0], row[1], row[2], row[3]))
        .collect(Collectors.toList());