Ваша else
часть никогда не будет успешной, потому что 1 из 3-х первых условий будет true
.Таким образом, ваш код эквивалентен этому:
when {
dateFrom == null && dateTo == null -> Unit
dateFrom != null -> params["lastUpdated"] = "$dateFrom,"
dateTo != null -> params["lastUpdated"] = ",$dateTo"
}
и, наконец, этому:
when {
dateFrom != null -> params["lastUpdated"] = "$dateFrom,"
dateTo != null -> params["lastUpdated"] = ",$dateTo"
else -> Unit
}
Я думаю, что, возможно, вы хотели иметь:
when {
dateFrom != null && dateTo != null -> params["lastUpdated"] = "$dateFrom,$dateTo"
dateFrom != null -> params["lastUpdated"] = "$dateFrom,"
dateTo != null -> params["lastUpdated"] = ",$dateTo"
}
Если этоэто то, что вы хотели, тогда нет дальнейшего упрощения.