我想要实现的是从中获取对象的最小/最大属性值
ArrayList<Object>
. 例如,如果
Object
具有属性
weight
(浮子),我要名单上最重的东西。
我试着实现Comparable以获得max/min值,但由于某些原因,这会返回相同的min值和max值(我不知道它是否适用于浮动)
val maxVal: Float = arrayList.max().floatVal1
val minVal: Float = arrayList.min().floatVal1
data class CustomObject(var val1: String, var floatVal1: Float , var floatVal2: Float?, var floatVal3: Float?, var floatVal4: Float?): Comparable<CustomObject>{
override fun compareTo(other: CustomObject) = (floatVal1 - other.floatVal1).toInt()
}
重复文章中的那个具体问题并没有告诉我如何基于Float获得max/min值。这就是问题所在。如果我想修改比较器,它只接受Int。我不能使用流功能,因为我的应用程序是为API 23+不是24+