Есть немного более короткая версия:
if (var1 ?: var2 ?: var3 != null) { … }
(Это работает, потому что var1 ?: var2 ?: var3
дает первое найденное ненулевое значение или null, только если все три переменные равны null.)
Это немного короче и, возможно, немного больше идиоматики c, но немного менее очевидно, особенно для не- Kotlin -экспертов. В зависимости от того, кто может прочитать код, возможно, стоит придерживаться более простой и понятной версии (с удаленными скобками, как предлагает Anime sh):
if (var1 != null || var2 != null || var3 != null) { … }
В качестве альтернативы, если вам нужно чтобы использовать это первое ненулевое значение внутри блока, вы можете использовать:
(var1 ?: var2 ?: var3)?.let { … }
В этом случае альтернатива less-idiomati c будет намного длиннее, поэтому конструкция более оправдана.