var _age: Int? = 0 public var isAdult: Boolean? = false get() = _age?.compareTo(18) >= 0
This still gives me a null-safety, compile error, but how can I use >, <, >= or <= in this matter?
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With