What is the right way of using “greater than”, “less than” comparison on nullable integers in Kotlin?

var age : Int? = 0

public val isAdult : Boolean?
    get() = age?.let { it >= 18 }

The other solution would be using delegates:

var age : Int by Delegates.notNull()
public val isAdult : Boolean
    get () = age >= 18

So if you try to get age or check isAdult before age was actually assigned then you’ll get exception instead of null.

Anyway I believe age = 0 is some kind magic that one day may lead to issue (even prod issue).

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)