获取字符串的长度

Kotlin:
获取字符串的长度

How to: (如何做:)

Kotlin 里,用.length属性来得到字符串长度。就这么简单:

fun main() {
    val greeting = "你好,世界!"
    println("字符串长度: ${greeting.length}")
}

输出将是:

字符串长度: 6

Deep Dive (深入探究)

length属性返回的是Int类型的值,它表示Unicode字符的数量。在Kotlin中,这和Java字符串的实现是一致的。但要注意,如果字符串包含了代理对(surrogate pairs),比如某些emoji字符,.length可能不会返回你期待的结果,因为这些是由两个Char表示的。

如果你需要考虑这类字符,可以使用codePointCount方法:

fun main() {
    val stringWithEmoji = "👋🌍"
    val actualLength = stringWithEmoji.codePointCount(0, stringWithEmoji.length)
    println("实际字符长度: $actualLength")
}

输出:

实际字符长度: 2

历史上,字符串长度的处理方法已经随着时间演进,尤其是因为Unicode和国际化的支持。Kotlin让事情变得简单,但了解背后的机制仍然很重要。

See Also (另见)