Вы можете использовать оператор when
,
val result = when {
number1 != null && number2 != null -> min(number1, number2)
number1 != null -> number1
number2 != null -> number2
else -> numToFallBack
}
Редактировать: если мы хотим выбрать ненулевое число, мы можем сделать это
val result = when {
number1 != null && number2 != null -> when {
number1 == 0 -> number2
number2 == 0 -> number1
else -> min(number1, number2)
}
number1 != null -> number1
number2 != null -> number2
else -> numToFallBack
}
Редактировать 2: если мы вообще не хотим ноль
Вариант 1
number1 = if (number1 == 0) null else number1
number2 = if (number2 == 0) null else number2
val result = when {
number1 != null && number2 != null -> min(number1, number2)
number1 != null -> number1
number2 != null -> number2
else -> numToFallBack
}
Вариант 2:
val result = when {
number1 != null && number2 != null -> when {
number1 == 0 && number2 != 0 -> number2
number2 == 0 && number1 != 0 -> number1
number1 == 0 && number2 == 0 -> numToFallBAck
else -> min(number1, number2)
}
number1 != null && number1 != 0 -> number1
number2 != null && number2 != 0 -> number2
else -> numToFallBack
}