跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
Kotlin字符串格式化
”︁
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
{{DISPLAYTITLE:Kotlin字符串格式化}} '''Kotlin字符串格式化'''是一种将变量、表达式或对象的值动态插入到字符串中的技术,使字符串的构建更加灵活和可读。Kotlin提供了多种方式来实现字符串格式化,包括字符串模板、`String.format()`函数以及更高级的格式化工具。本教程将详细介绍这些方法,并通过示例展示其实际应用。 == 字符串模板 == Kotlin的字符串模板是最简单的字符串格式化方式,通过在字符串中直接嵌入变量或表达式来实现。使用`${}`语法可以将变量或表达式的结果插入到字符串中。 === 基本用法 === <syntaxhighlight lang="kotlin"> fun main() { val name = "Alice" val age = 25 val message = "My name is $name and I am $age years old." println(message) } </syntaxhighlight> '''输出:''' <pre> My name is Alice and I am 25 years old. </pre> 如果变量是对象的属性,可以直接使用`${object.property}`的形式: <syntaxhighlight lang="kotlin"> data class Person(val name: String, val age: Int) fun main() { val person = Person("Bob", 30) val message = "Name: ${person.name}, Age: ${person.age}" println(message) } </syntaxhighlight> '''输出:''' <pre> Name: Bob, Age: 30 </pre> === 表达式嵌入 === 字符串模板还支持嵌入更复杂的表达式: <syntaxhighlight lang="kotlin"> fun main() { val a = 10 val b = 20 val sumMessage = "The sum of $a and $b is ${a + b}" println(sumMessage) } </syntaxhighlight> '''输出:''' <pre> The sum of 10 and 20 is 30 </pre> == `String.format()` 方法 == Kotlin的`String.format()`方法提供了更强大的格式化功能,类似于Java的`String.format()`。它支持格式化数字、日期、对齐等高级功能。 === 基本格式化 === 使用占位符(如`%s`、`%d`、`%f`)来格式化字符串: <syntaxhighlight lang="kotlin"> fun main() { val name = "Charlie" val score = 95.5 val formattedString = "Student: %s, Score: %.1f".format(name, score) println(formattedString) } </syntaxhighlight> '''输出:''' <pre> Student: Charlie, Score: 95.5 </pre> === 数字格式化 === 可以控制数字的宽度、精度和对齐方式: <syntaxhighlight lang="kotlin"> fun main() { val price = 1234.5678 println("Formatted price: %10.2f".format(price)) // 宽度为10,保留2位小数 } </syntaxhighlight> '''输出:''' <pre> Formatted price: 1234.57 </pre> === 日期格式化 === 结合`java.time`包,可以格式化日期: <syntaxhighlight lang="kotlin"> import java.time.LocalDate import java.time.format.DateTimeFormatter fun main() { val date = LocalDate.now() val formattedDate = "Today is %1\$tB %1\$td, %1\$tY".format(date) println(formattedDate) } </syntaxhighlight> '''输出(示例):''' <pre> Today is October 25, 2023 </pre> == 多行字符串与缩进 == Kotlin支持多行字符串(使用`"""`),并结合`trimMargin()`或`trimIndent()`来去除缩进: <syntaxhighlight lang="kotlin"> fun main() { val message = """ |Hello, |This is a multi-line |string in Kotlin. """.trimMargin() println(message) } </syntaxhighlight> '''输出:''' <pre> Hello, This is a multi-line string in Kotlin. </pre> == 实际应用案例 == === 日志记录 === 字符串格式化在日志记录中非常有用: <syntaxhighlight lang="kotlin"> fun logUserLogin(username: String, time: String) { println("[LOG] User '%s' logged in at %s".format(username, time)) } fun main() { logUserLogin("admin", "2023-10-25 14:30") } </syntaxhighlight> '''输出:''' <pre> [LOG] User 'admin' logged in at 2023-10-25 14:30 </pre> === 生成报告 === 生成格式化的表格数据: <syntaxhighlight lang="kotlin"> fun generateReport(data: List<Pair<String, Double>>) { println("| %-15s | %10s |".format("Item", "Price")) println("|----------------|------------|") data.forEach { (item, price) -> println("| %-15s | %10.2f |".format(item, price)) } } fun main() { val items = listOf("Laptop" to 999.99, "Phone" to 699.50, "Tablet" to 299.99) generateReport(items) } </syntaxhighlight> '''输出:''' <pre> | Item | Price | |----------------|------------| | Laptop | 999.99 | | Phone | 699.50 | | Tablet | 299.99 | </pre> == 总结 == Kotlin提供了多种字符串格式化方法: * '''字符串模板''':简单易用,适合直接嵌入变量或表达式。 * '''`String.format()`''':功能强大,支持数字、日期等高级格式化。 * '''多行字符串''':方便处理长文本或模板。 根据需求选择合适的方法,可以使代码更清晰、更易维护。 [[Category:编程语言]] [[Category:Kotlin]] [[Category:Kotlin字符串]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)