Kotlin基础语法(五)
字符串的定义和操作
import java.util.*
/*Kotlin的字符串操作和Java中的有很多类似*/
fun main(){
val str = "hello world!"
println(str.length) //12
println(str.substring(0,5))//hello
println(str+" hello kotlin!") //hello world! hello kotlin!
println(str.replace("world!","kotlin!"))//hello kotlin!
/*遍历操作:*/
for(i in str.uppercase(Locale.getDefault())) print("$i ") //H E L L O W O R L D !
println()
/*访问这个字符序列的成员*/
println("${str[0]} ${str.first()} ${str.last()} ${str[str.length-1]}") // h h ! !
/*判断是否为空字符串*/
println("".isEmpty()) //true
println(" ".isEmpty()) //false
println(" ".isBlank()) //true
println("abcdefg".filter { it in 'a'..'f' }) //abcdef
/*更多文档看:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html*/
}
定义原生字符串
val rawString="""
\n Kotlin is awesome.
\n Kotlin is a better Java."""
println(rawString)
/* 输出 :\n Kotlin is awesome.
\n Kotlin is a better Java.*/
/*简⽽⾔之,⽤这种3个引号定义的字符串,最终的打印格式与在代码中所呈现的格式⼀致,
⽽不会解释转化转义字符(正如上述例⼦中的\n),以及Unicode的转义字符(如\uXXXX)。*/
字符串模板
fun message(name:String,lang:String)= "Hi ${name},welcome to ${lang}"
/*通过${name}的格式传⼊字符串。通过对⽐我们可以明显看出,字符串模板⼤⼤提升了代码的紧凑性和可读性。*/
字符串判等
/*结构相等。通过操作符==来判断两个对象的内容是否相等。
* 引⽤相等。通过操作符===来判断两个对象的引⽤是否⼀样,与之相反的判断操作符是!==。
* 如果⽐较的是在运⾏时的原始类型,⽐如Int,那么===判断的效果也等价于==。
* */
var a="Java"
var b="Java"
var c="Kotlin"
var d="Kot"
var e="lin"
var f=d+e
>>>a==b
true
>>>a===b
true
>>>c==f
true
>>>c===f
false