Перегрузка равна BigDecimal в Котлине

В файле Kotlin я пытаюсь перегрузить метод equals класса BigDecimal . Для этого у меня есть следующий код:

fun BigDecimal.equals(n: Any?): Boolean = n is Int && this.compareTo(BigDecimal(n)) == 0 

Проблема в том, что эта функция не вызывается n.equals (1), где n имеет тип BigDecimal. В чем проблема и как я могу ее решить?

Вы не можете переопределять или теневые функции классов с функциями расширения. См. Ответ на очень похожий вопрос здесь .

Из документации :

Если класс имеет функцию-член, и определена функция расширения, которая имеет тот же тип приемника, одно и то же имя и применима к заданным аргументам, член всегда выигрывает.

Intereting Posts
Как поместить несколько ящиков рядом друг с другом в вертикально прокручиваемом виде в Android Studio? Может ли класс данных Kotlin иметь более одного конструктора? Присоединить источники к проекту библиотеки kotlin не отображаются в AS Как использовать неизменяемые постоянные коллекции в Котлине? Не удалось найти метод springBoot () для аргументов – Spring Boot с использованием Kotlin Ввод общей лямбды в карту Kotlin – Persist MutableList на SharedPreferences Все еще получение исключения IllegalStateException при использовании API People от Google, несмотря на подписку на другой поток с использованием RxJava Kotlin прямой доступ к Button в android.support.v4.app.Fragment ссылка на нулевой объект Не вызывайте setOnClickListener для AdapterView Живой шаблон не работает в Котлине Плагин IdeaVim от IntelliJ отключает преобразование Java в Kotlin Какая особенность языка в Котлине может вызвать утечку памяти? Kotlin Closable и SQLiteDatabase на Android Dagger2 не генерирует классы кинжалов