Kotlin中min和minOf的区别是什么?

Kotlin中min和minOf的区别是什么?,kotlin,syntax,Kotlin,Syntax,在我的旧代码中,我有以下内容: java.lang.Math.min(a, b) 我想用Kotlin等效物来代替它,但我有点困惑应该使用哪一个。我发现这两个: kotlin.math.min(a,b) kotlin.comparisons.minOf(a,b) 正如我所注意到的,它们都在内部调用Math.min。我想念他们之间有什么不同吗?它们中有一种是未来使用的首选吗?Kotlin采用Int、Double、Float、Long等具体类型,并对它们进行数学比较 Kotlin-fun-minO

在我的旧代码中,我有以下内容:

java.lang.Math.min(a, b)
我想用Kotlin等效物来代替它,但我有点困惑应该使用哪一个。我发现这两个:

kotlin.math.min(a,b)
kotlin.comparisons.minOf(a,b)
正如我所注意到的,它们都在内部调用Math.min。我想念他们之间有什么不同吗?它们中有一种是未来使用的首选吗?

Kotlin采用Int、Double、Float、Long等具体类型,并对它们进行数学比较

Kotlin-fun-minOfa:T,b:T:T采用泛型类型T,它扩展了接口。这可以在集合中用于根据该类上的实现对它们进行排序

现在用哪个

如您所见,kotlin.comparations.minOfa,b是比kotlin.math.mina,b更通用的实现。如果您使用的是数字类型,那么使用哪种类型并不重要,因为正如您已经指出的那样,这两种类型都是通过Math.mina,b实现的。

Kotlin采用具体类型,如Int、Double、Float、Long,并对它们进行数学比较

Kotlin-fun-minOfa:T,b:T:T采用泛型类型T,它扩展了接口。这可以在集合中用于根据该类上的实现对它们进行排序

现在用哪个


如您所见,kotlin.comparations.minOfa,b是比kotlin.math.mina,b更通用的实现。如果您使用的是数字类型,那么使用哪种类型并不重要,因为正如您已经指出的,这两种类型都是通过Math.mina,b实现的。

因此,如果您没有在集合中使用的类型,只想得到两个数字的较小值,那么您应该使用kotlin.Math.mina,b.-但是为什么呢?你解释了差异,但没有理由让他使用它。@Vojtěch你是对的。我调整了我的答案。所以如果你没有在集合中使用的类型,只想得到两个数字的较小值,你应该使用kotlin。math。mina,b.-但是为什么呢?你解释了差异,但没有理由让他使用它。@Vojtěch你是对的。我调整了我的答案。