2015-11-04 40 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