You are currently viewing What’s an idiomatic way to do X if Y and Z are not null?

What’s an idiomatic way to do X if Y and Z are not null?

So currently I have this:

val a = obj.a // a is nullable type val b = obj.b // b is nullable type if (a != null && b != null) f(a, b) // f only takes non-null args 

For a single property I can use a?.let { f(it) }, and for two properties I could use do something similar with (a to b).takeIf { a != null && b != null }.let { ... } (which isn’t any better than just using if imo, especially since I still need to !! the args in the let).

Is there some idiomatic way of doing this in kotlin without if?

submitted by /u/reallymakesyouthonk
[link] [comments]