我有一个保存对象的函数,我需要获取新的id,在列表的所有对象中设置此id并保存列表的对象。
我来自OO,我试图尽力达到功能范式......所以为了不违反不可改变的规则,我正在思考两种方法:
最好的方法是什么?
提前感谢。
答案 0 :(得分:4)
如果我理解你的问题,这是一种做法。
例如,您有一个Person对象列表
case class Person( id : Int, name : String, age : Int)
val persons : List[Person]
现在,如果您想为所有人设置id = 100,您可以使用地图并复制案例类。
val changedPersons = persons.map( p => p.copy(id) )
注意changedPersons
是一个新列表,您可以保存或执行其他任何操作。