6-3. 文字列型とリテラル
概要
文字列型は、任意の文字列を扱うデータ型です。
Immutable なので、一度値を設定した後、再度同じ変数に値を設定することはできません。
リテラル
文字列型は、2種類のリテラルがあります。
- Escaped String : ダブルクォーテーション「"」で囲う方法です。特殊文字はエスケープシーケンスで表記します。
- Raw String: 三連続クォーテーション「"""」で囲う方法です。文字列を表します。改行やバックスラッシュが通常の文字として扱われ、複数行にわたる記載が可能です。
例
"Hello World!"
""" The quick brown fox
jumps over the lazy dog."""
文字列型
型を宣言する際は「String」を使います。
データタイプ |
---|
String |
例
文字列型とリテラルを使った代入の例です。
fun main(){ val escapedString : String = "This is an escaped String!\n\t Hello World!" val rawString :String = """This is a multi-line string and will not have any escape sequence""" println(escapedString) println(rawString) }
出力
This is an escaped String!
Hello World!
This is a multi-line string
and
will not have any escape sequence
Kotlin Playground での実行
This is an escaped String! のあとに改行(\n) があり、Hello! の前にタブ(\t) があります。
Raw String については、改行文字を含め、入力したとおりの文字列を保持しています。
再代入によるエラーの例
Immutable なので、一度値を設定した後に再度値を設定しようとするとエラー(コンパイルエラー)となります。
例 StringReassignSample.kt
fun main() { val str1 : String = "Hello World!" str1 = "Hello Kotlin!" println(str1) }
コンパイルエラー例
C:\kotlinc\bin>kotlinc StringReassignSample.kt.kt -include-runtime -d StringReassignSample.kt.jar
StringReassignSample.kt.kt:3:5: error: val cannot be reassigned
str1 = "Hello Kotlin!"
^
C:\kotlinc\bin>