我希望从对象属性列表中添加val adminEmailSeq = Seq.empty[String]
。
我的List[User]
被称为'管理员'而且我试图这样做,但它不起作用:
admins.foreach(
admin => {
adminEmailSeq :+ admin.email
}
)
虽然admin.email
包含正确的信息,但adminEmailSeq.isEmpty
始终为真。
答案 0 :(得分:4)
根据说明,我假设您需要Emails
Admins
val adminEmailSeq = admins.map(_.email)
答案 1 :(得分:3)
追加':+'实际上并没有将它追加到领先的Seq。它正在复制。 关于您的解决方案,您需要这样做。
admins.foreach(
admin => {
adminEmailSeq = adminEmailSeq :+ admin.email
}
)
但我认为正确的解决方案是使用地图。
忘了:我是不可变因素和价值观的粉丝,而不是变量。它可能有助于更容易理解代码。因此我不会使用该变量重新分配(因此我建议使用地图,因为这里的一些解决方案可能会向您显示)。