String.toBoolean în Kotlin

Text: conversii și formatare Kotlin 1.4 (toBooleanStrict: 1.5)

Transformă textul "true" (fără să conteze literele mari) în true; orice alt text devine false.

Sintaxă
fun String?.toBoolean(): Boolean
fun String.toBooleanStrict(): Boolean
fun String.toBooleanStrictOrNull(): Boolean?

Ce face String.toBoolean

toBoolean() returnează true doar dacă textul este "true", scris cu orice combinație de litere mari și mici. Orice altceva ("da", "1", "yes", chiar și null) devine false, fără eroare.

Dacă vrei să prinzi valorile greșite, folosește toBooleanStrict(): acceptă doar "true" și "false" exact (litere mici) și aruncă excepție în rest. toBooleanStrictOrNull() returnează null pentru valorile necunoscute.

Ce returnează

Boolean.

Exemple

Exemplul 1: Ce texte devin true

Doar „true” (cu orice litere mari) dă true; „da” și „1” dau false.

fun main() {
    val valori = listOf("true", "TRUE", "True", "false", "da", "1", "")
    for (v in valori) {
        println("\"$v\" -> ${v.toBoolean()}")
    }
}

Rezultat

"true" -> true
"TRUE" -> true
"True" -> true
"false" -> false
"da" -> false
"1" -> false
"" -> false

Exemplul 2: Setări citite dintr-o configurație

Valorile din fișierele de configurare sunt text; le transformăm în Boolean pentru if.

fun main() {
    val setari = mapOf("notificari" to "true", "mod_intunecat" to "false", "newsletter" to "da")
    for ((cheie, valoare) in setari) {
        val activ = valoare.toBoolean()
        println("$cheie: ${if (activ) "pornit" else "oprit"}")
    }
}

Rezultat

notificari: pornit
mod_intunecat: oprit
newsletter: oprit

Exemplul 3: Varianta strictă

toBooleanStrictOrNull deosebește valorile greșite (null) de false.

fun main() {
    for (v in listOf("true", "false", "da", "TRUE")) {
        println("\"$v\" -> ${v.toBooleanStrictOrNull()}")
    }
}

Rezultat

"true" -> true
"false" -> false
"da" -> null
"TRUE" -> null

Greșeli frecvente

  • Aștepți ca "da".toBoolean() sau "1".toBoolean() să dea true. Doar textul „true” dă true.
  • Nu observi greșelile de scriere din configurație: „ture” devine pur și simplu false. Folosește toBooleanStrict() când valoarea trebuie să fie corectă.

Comenzi înrudite

  • String.toInt: Transformă un text în număr întreg; toInt aruncă excepție la text invalid, toIntOrNull returnează null.
  • String.equals: equals compară două texte (opțional fără să conteze literele mari); compareTo le compară alfabetic.
  • true și false (Boolean): true și false sunt cele două valori ale tipului Boolean, folosite în condiții, comparații și operatori logici.