文字列 | 目次 |
配列と同様に、文字列は直接的には列ではありませんが、列に変換でき、文字列に対する列の全ての演算をサポートします。 以下は文字列に対して呼び出せる演算の例です。
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)
これらの演算は2つの暗黙の変換によってサポートされています。最初の優先順位が低い変換はStringをimmutable.IndexedSeqの子クラスであるWrappedStringに変換するもので、上記では文字列がSeqに変換されている最後の行で使われています。 もう1つの高い優先順位の変換は不変な列の全てのメソッドを文字列に追加するStringOpsオブジェクトに文字列を変換します。 この変換は上の例ではreverse, map, drop, およびsliceの呼び出しのところに暗黙の内に挿入されています。
続いては: 性能特性
文字列 | 目次 |