如同陣列,字串本身不是序列,但它們可以轉換成序列,而且它們也支援字串的所有序列操作。以下是您可以在字串上呼叫的一些操作範例。
scala> val str = "hello"
val str: java.lang.String = hello
scala> str.reverse
val res6: String = olleh
scala> str.map(_.toUpper)
val res7: String = HELLO
scala> str.drop(3)
val res8: String = lo
scala> str.slice(1, 4)
val res9: String = ell
scala> val s: Seq[Char] = str
val s: Seq[Char] = hello
這些操作由兩個隱含轉換支援。第一個低優先順序轉換會將 String
映射到 WrappedString
,它是 immutable.IndexedSeq
的子類別,此轉換套用於上方最後一行,其中字串轉換成 Seq。另一個高優先順序轉換會將字串映射到 StringOps
物件,它會將所有方法新增到字串中的不變序列。此轉換已隱含插入到上述範例中 reverse
、map
、drop
和 slice
的方法呼叫中。