Tag: 超载

默认参数vs重载,何时使用哪个

在Kotlin中,有两种方法可以通过指定默认参数值来表示可选参数: fun foo(parameter: Any, option: Boolean = false) { … } 或通过引入过载: fun foo(parameter: Any) = foo(parameter, false) fun foo(parameter: Any, option: Boolean) { … } 在哪种情况下首选哪种方式? 这种功能的消费者有什么区别?

重载等于Kotlin中的BigDecimal

在Kotlin文件中,我尝试重载BigDecimal类的equals方法。 我有以下一段代码: fun BigDecimal.equals(n: Any?): Boolean = n is Int && this.compareTo(BigDecimal(n)) == 0 问题是这个函数不会被n.equals(1)调用,其中n是BigDecimal类型。 有什么问题,我该如何解决?