在Kotlin文件中,我嘗試過載等於方法的BigDecimal類。我有以下的代碼爲:過載等於Kotlin中的BigDecimal
fun BigDecimal.equals(n: Any?): Boolean = n is Int && this.compareTo(BigDecimal(n)) == 0
的問題是,這個功能沒有得到通過n.equals調用(1)其中ñ是類型爲BigDecimal。 什麼問題,我該如何解決?
在Kotlin文件中,我嘗試過載等於方法的BigDecimal類。我有以下的代碼爲:過載等於Kotlin中的BigDecimal
fun BigDecimal.equals(n: Any?): Boolean = n is Int && this.compareTo(BigDecimal(n)) == 0
的問題是,這個功能沒有得到通過n.equals調用(1)其中ñ是類型爲BigDecimal。 什麼問題,我該如何解決?
如果一個類的成員函數,以及擴展函數被定義,其具有相同的接收器類型,相同的名稱和適用於給定的參數,該構件總是獲勝。
請注意,這不是'重寫',而是'遮蔽' – voddan
感謝那個微小而重要的區別! – Patrick