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

本文涉及的产品
可观测链路 OpenTelemetry 版,每月50GB免费额度
注册配置 MSE Nacos/ZooKeeper,118元/月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: Kotlin中的字符串用于存储文本,定义时使用双引号包围字符序列,如`var greeting = "Hello"`。Kotlin能自动推断变量类型,但在未初始化时需显式指定类型,如`var name: String`。可通过索引访问字符串元素,如`txt[0]`获取首字符。字符串作为对象,拥有属性和方法,如`length`获取长度,`toUpperCase()`转大写。可使用`compareTo()`比较字符串,`indexOf()`查找子串位置。字符串中嵌入单引号表示文本内的引号,如`"It's alright"`。使用`+`或`plus()

Kotlin 字符串

字符串用于存储文本。

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

示例

var greeting = "Hello"

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

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

示例

var greeting: String = "Hello"

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

示例

这样是可以的:

var name: String
name = "John"
println(name)

示例

这样会产生错误:

var name
name = "John"
println(name)

访问字符串

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

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

示例

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

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

字符串长度

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

示例

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
println("txt 字符串的长度是: " + txt.length)

字符串函数

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

示例

var txt = "Hello World"
println(txt.toUpperCase())   // 输出 "HELLO WORLD"
println(txt.toLowerCase())   // 输出 "hello world"

比较字符串

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

示例

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

查找字符串中的字符串

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

示例

var txt = "Please locate where 'locate' occurs!"
println(txt.indexOf("locate"))  // 输出 7

记住,Kotlin 从零开始计数。

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

字符串中的引号

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

示例

var txt1 = "It's alright"
var txt2 = "That's great"

字符串连接

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

示例

var firstName = "John"
var lastName = "Doe"
println(firstName + " " + lastName)

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

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

示例

var firstName = "John "
var lastName = "Doe"
println(firstName.plus(lastName))

字符串模板/插值

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

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

示例

var firstName = "John"
var lastName = "Doe"
println("My name is $firstName $lastName")

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

最后

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

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

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

相关文章
|
2天前
|
Java Kotlin
​ Kotlin教程笔记(15) - 方法重载与默认参数
​ Kotlin教程笔记(15) - 方法重载与默认参数
9 3
​ Kotlin教程笔记(15) - 方法重载与默认参数
|
2天前
|
Java Kotlin Python
Kotlin教程笔记(16) - 扩展成员
Kotlin教程笔记(16) - 扩展成员
7 2
Kotlin教程笔记(16) - 扩展成员
|
3天前
|
Java Kotlin
​ Kotlin教程笔记(15) - 方法重载与默认参数
​ Kotlin教程笔记(15) - 方法重载与默认参数
14 2
​ Kotlin教程笔记(15) - 方法重载与默认参数
|
3天前
|
Java Kotlin Python
​ Kotlin教程笔记(16) - 扩展成员
​ Kotlin教程笔记(16) - 扩展成员
9 1
​ Kotlin教程笔记(16) - 扩展成员
|
2天前
|
NoSQL Redis Kotlin
Kotlin教程笔记(17) - 属性代理
Kotlin教程笔记(17) - 属性代理
|
1天前
|
IDE 开发工具 iOS开发
Kotlin教程笔记(11) - 面向对象之抽象类与接口
本系列教程笔记详细讲解了Kotlin语法,适合深入学习。若需快速掌握Kotlin,建议查阅“简洁”系列教程。本文重点介绍了Kotlin中的抽象类与接口,包括接口的定义、实现、继承,以及抽象类的定义、构造器、方法实现等关键概念。
10 2
|
1天前
|
IDE 开发工具 开发者
Kotlin教程笔记(10) - 参数与异常
本系列教程详细讲解了Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速学习,可参考“简洁”系列教程。本文档重点介绍了参数与异常处理,包括具名参数、变长参数、默认参数、多返回值及异常捕获等内容。
7 2
|
2天前
|
Java Kotlin
Kotlin教程笔记(19) - 内部类
Kotlin教程笔记(19) - 内部类
|
2天前
|
Java 开发者 Kotlin
​ Kotlin教程笔记(14) - 伴生对象与静态成员
​ Kotlin教程笔记(14) - 伴生对象与静态成员
10 3
|
3天前
|
存储 前端开发 Java
Kotlin教程笔记(18) - 数据类
Kotlin教程笔记(18) - 数据类
12 4