Scala将String转换为StringOps

use*_*293 5 string scala

Scala似乎将String类型的对象转换为StringOps.这是怎么做到的?即Scala如何以及何时将String的对象转换为StringOps?

ntn*_*ntn 6

从in StringStringOpsin 定义了隐式转换Predef.scala.https://github.com/scala/scala/blob/a24ca7fa617cabada82c43d2d6ac354db698d181/src/library/scala/Predef.scala#L308.如果从a上的类调用方法,则会将String实例转换为实例.StringOpsStringOpsString

  • 顺便说一句,这意味着 StringOps 只有在您调用它时才会启动。否则,字符串将保留为字符串,不会在任何转换上花费 CPU 时间。 (2认同)