The good looking THEN!

Det talas mycket om att Kotlin är mer lättläst än Java. Paradexemplet är when-blocket.

Vill man kontrollera endast ett argument används i Java ett stor switch-block

// Java
switch (nameOfTown) {
    case "Stockholm" : 
    case "Malmö": 
        town.setSize(BIG);
        break;
    case "Örebro" : 
        town.setSize(MEDIUM);
        break;
    case "Nora" : 
        town.setSize(SMALL);
        break;
    default:
        town.setSize(UNKNOWN)
}

// Kotlin
when (nameOfTown) {
    "Stockholm", "Malmö" -> town.size = BIG
    "Örebro"             -> town.size = MEDIUM
    "Nora"               -> town.size = SMALL
    else                 -> town.size = UNKNOWN
}

När du kan ersätta komplicerad if-else-kedjor med ett snyggt when-block blir det ännu tydligare varför when-blocken blir lättlästa.

// Java
if (firstName.equals("Anders")) {
    person.setTeam(sales);
} else if (lastName.equals("Larsson")) {
    person.setTeam(web);
} else {
    person.setTeam(others);
}

// Kotlin
when {
    firstName == "Anders"  -> person.team = sales
    lastName  == "Larsson" -> person.team = web
    else                   -> person.team = others
}
Posted in Kod

Leave a Reply

Your email address will not be published. Required fields are marked *