如前所述,它是.toBoolean()。它的工作原理非常简单:如果 String 的值为true,则忽略大小写,返回值为true。在任何其他情况下,它都是错误的。这意味着,如果字符串不是布尔值,它将返回 false。Kotlin 本质上有两种类型的变体:Any和Any?. Any当然可以绝对是任何类,或者指实际的类Any。toBoolean需要 a String,这意味着一个非空字符串。这是非常基本的:val someString = "true"val parsedBool = someString.toBoolean()如果您有可空类型,它会稍微复杂一些。正如我提到的,toBoolean需要一个String. A String?!=String在这些情况下。因此,如果您有一个可为空类型,则可以使用安全调用和 elvis 运算符val someString: String? = TODO()val parsedBool = someString?.toBoolean() ?: false或者,如果您可以使用可为空的布尔值,则不需要 elvis 运算符。但是如果字符串为空,那么布尔值也是。只是对上面的解释:someString?.//If something != null toBoolean() // Call toBoolean ?: false // Else, use false此外,您无法编译使用toBoolean可空引用的程序。编译器会阻止它。最后,作为参考,方法声明:/** * Returns `true` if the contents of this string is equal to the word "true", ignoring case, and `false` otherwise. */@kotlin.internal.InlineOnlypublic actual inline fun String.toBoolean(): Boolean = java.lang.Boolean.parseBoolean(this)