Kotlin是一種在Java虛擬機上運行的靜態類型編程語言,擁有許多類似Java的特性,但Kotlin也有自己的一些特點。在Kotlin中,String是不可變的類型和一個基本類型。本文將對Kotlin String進行詳細解析。
一、字符串的定義
Kotlin String可以使用工廠函數或直接使用雙引號定義。下面是一個示例:
val str1 = "Hello Kotlin"
val str2 = String(charArrayOf('H', 'e', 'l', 'l', 'o', ' ', 'K', 'o', 't', 'l', 'i', 'n'))
不同於Java,Kotlin對於String類型有一個明確的字符類型Char,所以可以使用單引號將字符定義為一個Char類型。一個示例如下:
val char1: Char = 'a'
val char2 = 'b'
二、字符串拼接
字符串拼接是Kotlin中常用的操作。最樸素的方法是使用+符號。
val s1 = "Hello"
val s2 = "World"
val s3 = s1 + ", " + s2 + "!"
println(s3) //輸出Hello, World!
但是,這種方法並不理想,因為每個+運算符都導致一個新的String對象的創建。下面是一種更好的方法(使用模板表達式):
val s4 = "$s1, $s2!"
println(s4) //輸出Hello, World!
除此之外,還可以使用”””三個雙引號將多行文本變成字符串,並可以通過trimMargin()函數來清除空格:
val text = """
1
2
3
""".trimMargin()
三、字符串函數
Kotlin String提供了很多有用的函數:
1. length()
返回字符串的長度
val str = "abcde"
println(str.length) //輸出5
2. get()
獲取指定索引位置的字符
val str = "abcde"
println(str.get(2)) //輸出c
下面是使用get()獲取子字符串的例子:
val str = "abcde"
println(str.subSequence(1, 4)) //輸出bcd
3. contains()
檢測字符串是否包含指定的字符序列
val str = "abcde"
println(str.contains("cd")) //輸出true
4. startsWith()
檢測字符串是否以指定的字符序列開頭
val str = "abcde"
println(str.startsWith("ac")) //輸出false
5. endsWith()
檢測字符串是否以指定的字符序列結尾
val str = "abcde"
println(str.endsWith("de")) //輸出true
6. indexOf()
返回指定字符或子字符串在該字符串中第一次出現處的索引
val str = "abcde"
println(str.indexOf("c")) //輸出2
7. lastIndexOf()
返回指定字符或子字符串在該字符串中最後一次出現處的索引
val str = "abcdec"
println(str.lastIndexOf("c")) //輸出4
8. replace()
將指定字符或子字符串替換成另外一個字符或子字符串
val str = "abcde"
println(str.replace("c", "C")) //輸出abCde
9. toInt()
將字符串轉換為整數
val str = "123"
println(str.toInt()) //輸出123
四、字符串轉義和原始字符串
Kotlin String與Java一樣,使用\作為轉義字符。下面是一些常用的轉義字符:
- \n:換行符
- \t:水平製表符
- \b:退格
- \r:回車
與Java不同的是,Kotlin String也支持原始字符串,並使用”””三個雙引號來表示:
val str = """Hello
World
"""
原始字符串不支持轉義字符,這樣做的好處是可以方便地表示文件路徑等特殊字符。
五、字符串轉換成數字的函數比較
在Kotlin中,可以使用多種函數將字符串轉換為數字。
toInt():String->Int
val s = "123"
val i:Int = s.toInt()
println(i) //輸出123
toDouble():String->Double
val s = "123.456"
val d:Double = s.toDouble()
println(d) //輸出123.456
toFloat():String->Float
val s = "123.456"
val f:Float = s.toFloat()
println(f) //輸出123.456
toLong():String->Long
val s = "123"
val l:Long = s.toLong()
println(l) //輸出123
toByte():String->Byte
val s = "123"
val b:Byte = s.toByte()
println(b) //輸出123
六、其他字符串操作
1. 格式化字符串
使用String.format()函數進行字符串格式化,可以方便地將數字轉為字符串並添加逗號、小數點等格式。
val number = 123456789.98765
val formattedString = String.format("%.3f", number)
println(formattedString) //輸出123,456,789.988
2. 分割字符串
使用split()函數將一個字符串分割成多個子字符串。下面是一個例子:
val str = "abc,def,ghi"
val parts = str.split(",")
for (part in parts) {
println(part)
}
3. 大小寫轉換
可以使用toUpperCase()或toLowerCase()函數將字符串轉換為大寫或小寫。
val str = "Hello Kotlin"
println(str.toUpperCase()) //輸出HELLO KOTLIN
七、結語
在Kotlin中,String是一個不可變的類類型和一個基本類型。在本文中,我們從定義、拼接、函數、轉義和原始字符串、字符串轉換成數字、其他字符串操作等多個方面對Kotlin String進行了詳細解析。孰能生巧,大家只有經常處理字符串,才能在實際工作中用好Kotlin String。
原創文章,作者:LCLEM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/329880.html