Intereting Posts
SparkJava с использованием Kotlin и WebSockets android TabLayout установить значок с сервера Класс Kotlin Custom View реализует интерфейс, который не может быть разрешен в `: app: compileDebugKotlinAfterJava`. Идентичная версия Java отлично работает Ссылка на свойства класса Observable в макете привязки данных Android каков рекомендуемый способ использования двойного удара Kotlin для элемента с нулевым классом getExternalFilesDir возвращает непоследовательные каталоги Использование hbm2ddl с двумя менеджерами сущностей в Hibernate Проблема с компиляцией Dagger2 в Котлине Как проверить видимость программной клавиатуры в Android? Вы загрузили APK, подписанный с сертификатом, который истекает слишком скоро Инструмент визуализации фигуры libGDX не рисуется после нажатия кнопки «Назад» Android: соскабливание статей с помощью jsoup Котлин – Названия обфускации Есть ли простой способ увидеть, какие исключения выбрала функция Котлина? Приложение build.gradle.kts Файл Unresolved Reference Erros

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

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

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

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

Solutions Collecting From Web of "Перегрузка равна BigDecimal в Котлине"

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

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

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