2015-11-04 108 views
4

将Scala类型的对象转换为StringOps。这是如何完成的?即Scala如何以及何时将String对象转换为StringOps?Scala将字符串转换为StringOps

干杯, 的Mattias

+0

这不是一个编程问题,请缩小到某个问题,否则它可能会关闭。 – kebs

+0

它实际上是一个编程问题。你应该知道斯卡拉了解它。 (难怪,这个问题毕竟被标记为“scala”。) – VasyaNovikov

+0

这个问题不是“太宽泛”。 – pedrofurla

回答

5

有一个在从Predef.scala定义StringStringOps的隐式转换。 https://github.com/scala/scala/blob/a24ca7fa617cabada82c43d2d6ac354db698d181/src/library/scala/Predef.scala#L308。如果您在String上调用StringOps类的方法,则会将String实例转换为StringOps实例。

+1

顺便说一下,这意味着只有在您调用StringOps时才会启用它。否则,字符串保留为字符串,任何转换都不会花费CPU时间。 – VasyaNovikov

+0

好的!知道了谢谢!我认为所有* Ops类都是一样的,比如ArrayOps等。 – user1578293