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