我是 Scala 新手,但有一些 Java 背景。
在编写 Scala 代码时,以这种方式处理 Option 参数很有用:
val text = Option("Text")
val length = text.map(s => s.size)
但s => s.size
据我所知,每一个都带来了新的Function1[A, B]
. 如果我进行例如 8 次这样的转换,它将带来 8 个额外的类。在绑定表单时,我非常频繁地使用这些片段,所以问题是:
我应该少用它,或者用 if 表示法代替它,还是这样的类泛滥对 JVM 不是很重要,或者 Scala 编译器有什么魔力?
更新:一个可能更具体的例子是:
case class Form(name: Option[String], surname: Option[String])
val bindedForm = Form(Option("John"), Option("Smith"))
val person = new Person
bindedForm.name.foreach(a => person.setName(a))
bindedForm.surname.foreach(a => person.setSurname(a))
它会产生两个不同的Function1[String, String]
类吗?如果有数百个这样的转换怎么办?