字符串用于存储文本。
字符串包含用双引号括起来的字符集合:
不像JAVA,您不必指定该变量应该是String
。 Kotlin 足够聪明,能够理解上例中的greeting 变量是一个String
因为双引号。
但是,就像其他数据类型一样,如果您坚持的话,可以指定类型:
笔记:如果你想创建一个String
如果不赋值(稍后赋值),则必须在声明变量时指定类型:
要访问字符串的字符(元素),必须引用索引号里面方括号。
字符串索引从 0 开始。在下面的示例中,我们访问第一个和第三个元素 txt
:
var txt = "Hello World"
println(txt[0]) // first element (H)
println(txt[2]) // third element (l)
亲自试一试 »
[0] 是第一个元素。 [1] 是第二个元素,[2] 是第三个元素,依此类推。
Kotlin 中的 String 是一个对象,它包含可以通过编写点字符 (.
) 在特定字符串变量之后。例如,可以使用以下命令找到字符串的长度length
属性:
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
println("The length of the txt string is: " + txt.length)
亲自试一试 »
有许多可用的字符串函数,例如toUpperCase()
和toLowerCase()
:
var txt = "Hello World"
println(txt.toUpperCase()) // Outputs "HELLO WORLD"
println(txt.toLowerCase()) // Outputs "hello world"
亲自试一试 »
这个compareTo(string)
函数比较两个字符串,如果相等则返回 0:
var txt1 = "Hello World"
var txt2 = "Hello World"
println(txt1.compareTo(txt2)) // Outputs 0 (they are equal)
亲自试一试 »
这个indexOf()
函数返回指数字符串中指定文本第一次出现的(位置)(包括空格):
var txt = "Please locate where 'locate' occurs!"
println(txt.indexOf("locate")) // Outputs 7
亲自试一试 »
请记住,Kotlin 从零开始计算位置。
0 是字符串中的第一个位置,1 是第二个位置,2 是第三个位置...
要在字符串内使用引号,请使用单引号 ('
):
这个+
可以在字符串之间使用运算符将它们添加在一起以形成新字符串。这就是所谓的级联:
请注意,我们添加了一个空文本 (" "),以便在打印时在名字和姓氏之间创建一个空格。
您还可以使用plus()
连接两个字符串的函数:
除了连接之外,您还可以使用"string templates",这是在字符串中添加变量和表达式的简单方法。
只需用以下命令引用变量即可$
象征:
"String Templates" 是 Kotlin 的一项流行功能,因为它减少了代码量。例如,您不必像我们在串联示例中那样在firstName 和lastName 之间指定空格。