Kotlin 字符串教程:深入理解与使用技巧

Kotlin 字符串

字符串用于存储文本。

字符串包含由双引号包围的字符集合:

示例

kotlin 复制代码
var greeting = "Hello"

Java 不同,您不必指定变量是字符串。Kotlin 足够智能,可以通过双引号理解上例中的 greeting 变量是字符串。

然而,与其他数据类型一样,如果您坚持,可以指定类型:

示例

kotlin 复制代码
var greeting: String = "Hello"

注意:如果您想创建一个字符串但不赋值(并稍后赋值),您必须在声明变量时指定类型:

示例

这样是可以的:

kotlin 复制代码
var name: String
name = "John"
println(name)

示例

这样会产生错误:

kotlin 复制代码
var name
name = "John"
println(name)

访问字符串

要访问字符串的字符(元素),必须在方括号内引用索引号。

字符串索引从 0 开始。在下面的示例中,我们访问 txt 中的第一个和第三个元素:

示例

kotlin 复制代码
var txt = "Hello World"
println(txt[0]) // 第一个元素 (H)
println(txt[2]) // 第三个元素 (l)

[0] 是第一个元素,[1] 是第二个元素,[2] 是第三个元素,等等。

字符串长度

Kotlin 中的字符串是对象,包含可以对字符串执行某些操作的属性和函数,通过在特定字符串变量后写一个点字符(.)。例如,可以使用 length 属性找到字符串的长度:

示例

kotlin 复制代码
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
println("txt 字符串的长度是: " + txt.length)

字符串函数

有许多可用的字符串函数,例如 toUpperCase()toLowerCase()

示例

kotlin 复制代码
var txt = "Hello World"
println(txt.toUpperCase())   // 输出 "HELLO WORLD"
println(txt.toLowerCase())   // 输出 "hello world"

比较字符串

compareTo(string) 函数比较两个字符串,如果两者相等则返回 0

示例

kotlin 复制代码
var txt1 = "Hello World"
var txt2 = "Hello World"
println(txt1.compareTo(txt2))  // 输出 0 (它们相等)

查找字符串中的字符串

indexOf() 函数返回指定文本在字符串中首次出现的位置(包括空格):

示例

kotlin 复制代码
var txt = "Please locate where 'locate' occurs!"
println(txt.indexOf("locate"))  // 输出 7

记住,Kotlin 从零开始计数。

0 是字符串中的第一个位置,1 是第二个,2 是第三个......

字符串中的引号

要在字符串中使用引号,使用单引号('):

示例

kotlin 复制代码
var txt1 = "It's alright"
var txt2 = "That's great"

字符串连接

可以在字符串之间使用 + 运算符将它们添加在一起,形成一个新的字符串。这称为连接:

示例

kotlin 复制代码
var firstName = "John"
var lastName = "Doe"
println(firstName + " " + lastName)

请注意,我们添加了一个空文本(" ")以在打印时在 firstNamelastName 之间创建一个空格。

您还可以使用 plus() 函数连接两个字符串:

示例

kotlin 复制代码
var firstName = "John "
var lastName = "Doe"
println(firstName.plus(lastName))

字符串模板/插值

除了连接,您还可以使用"字符串模板",这是一种在字符串中添加变量和表达式的简单方法。

只需使用 $ 符号引用变量:

示例

kotlin 复制代码
var firstName = "John"
var lastName = "Doe"
println("My name is $firstName $lastName")

"字符串模板"是 Kotlin 的一个流行特性,因为它减少了代码量。例如,您不必像在连接示例中那样在 firstNamelastName 之间指定空格。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关推荐
晴殇i3 分钟前
揭秘JavaScript中那些“不冒泡”的DOM事件
前端·javascript·面试
chlk12329 分钟前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
绝无仅有30 分钟前
Redis过期删除与内存淘汰策略详解
后端·面试·架构
绝无仅有39 分钟前
Redis大Key问题排查与解决方案全解析
后端·面试·架构
舒一笑1 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
Kapaseker1 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
改一下配置文件1 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
AAA梅狸猫2 小时前
Looper.loop() 循环机制
面试
strayCat232552 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源