Я хочу реализовать следующие функции как Java8 Lambda
private StructType getSchema(Dataset<Row> df, List<String> cols){
StructType schema = df.schema();
for (String col: cols){
schema.add(col, "int", true);
}
return schema;
}
когда я пытаюсь использовать приведенный ниже код
private StructType getSchema(Dataset<Row> df, List<String> cols){
StructType schema = df.schema();
cols.forEach(col -> schema = schema.add(col, "int", true));
return schema;
}
Я получаю ошибку компиляции
variable used in lambda expression should be final or effectively final.
Как я могу решить это?