例如,我想有这样的合作,以建立jDName
为“李四”和jDAge
到32路:如何为我的Scala类定义强制转换和隐式强制转换操作?
case class Person(name : String, surname : String, age : Int)
val johnDoe = Person("John", "Doe", 32)
val jDName : String = johnDoe
val jDAge : Int = johnDoe
我可以写功能,在Person
类提供隐式转换为字符串, Int和其他(自定义)类型?另外一件事情是显式演员操作 - 也很有趣,但我不知道我应该如何在Scala中编写一个例子。
你可以,但这是一个非常糟糕的主意。你有两个不同类型的字符串,它们不能按类型区分。如果一个人被隐式转换而另一个不转换,那会变得非常混乱。 –