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