我有一些类对象
class City (val name: String) {
var degrees: Int = 0
}
val city1 = City("city1")
city1.degrees = 10
val city2 = City("city2")
city2.degrees = 20
val city3 = City("city3")
city3.degrees = 30
如何找到3个城市的最小/最大度并返回它的对象?
您可以将它们放入列表(或其他可迭代对象)中,然后使用minByOrNull或maxByOrNull:
val cityWithMaxDegrees = listOf(city1, city2, city3).maxByOrNull { it.degrees }
注意,如果列表为空,maxByOrNull
将返回null,因此您必须处理它。也是已弃用的maxBy
/minBy
的情况,这就是它们被弃用的原因。将来,maxBy
/minBy
可以重新引入非空返回类型,并在空列表时抛出异常。