在Kotlin文件中,我尝试重载 BigDecimal 类的 equals 方法。我有以下代码:
fun BigDecimal.equals(n: Any?): Boolean = n is Int && this.compareTo(BigDecimal(n)) == 0
问题是 n.equals(1)不会调用此函数,其中 n 的类型为BigDecimal。 有什么问题,我该如何解决?
答案 0 :(得分:4)
如果一个类有成员函数,并且定义了一个扩展函数,它具有相同的接收者类型,相同的名称并且适用于给定的参数,则该成员总是获胜。
答案 1 :(得分:1)
您不能覆盖或具有扩展功能的类的阴影函数。请参阅一个非常相似的问题here的答案。