在我的遗留代码中,我有以下内容:
java.lang.Math.min(a, b)
我想把它换成Kotlin等价物,但我有点搞不懂我该用哪一种。我找到了这两个:
kotlin.math.min(a,b)
kotlin.comparisons.minOf(a,b)
正如我注意到的,他们都在内部调用Math.min
。我想念他们之间有什么不同吗?它们中的一种更适合将来使用吗?
发布于 2020-12-22 16:25:18
Kotlin kotlin.math.min(a,b)采用了Int
、Double
、Float
、Long
等具体类型,并对它们进行了数学比较。
Kotlin kotlin.comparisons fun <T : Comparable<T>> minOf(a: T, b: T): T
采用泛型类型T
,它扩展了接口Comparable<T>
。这可以在集合中使用,根据该类上的可比的实现对它们进行排序。
现在使用哪个?
正如您所看到的,kotlin.comparisons.minOf(a,b)
是一个比kotlin.math.min(a,b)
更通用的实现。如果您使用的是数字类型,那么使用哪种类型并不重要,因为正如您已经指出的,这两种类型都是用Math.min(a, b)
实现的。
https://stackoverflow.com/questions/65412145
复制相似问题