nor*_*oru 1 scala implicit-conversion
我有一个带有选项参数的case类,让我们说:
case class Student(id: Option[Int], name: String)
Run Code Online (Sandbox Code Playgroud)
要获得Student实例,不仅我可以使用Student(Some(1), "anderson"),我还希望这个表单是一种有效的方式Student(2,"Sarah")
我想我必须创建一个Int => Option[Int]并把它放在某个地方.那么最好的方法是什么?
更新
正如评论中提到的,override apply方法将阻止调用它Student.apply _
apply在同伴中制作方法可能更容易object.
case class Student(id: Option[Int], name: String)
object Student {
def apply(id: Int, name: String): Student = {
Student(Some(id), name)
}
}
Run Code Online (Sandbox Code Playgroud)