Intereting Posts
Чистая архитектура Android: проблема с репозиторием Создайте счетчик, который изменяет его ширину при выборе элемента Почему мы используем «объект-компаньон» как своего рода замену статическим полям Java в Котлине? Kotlin + Spring загрузка запроса сортировки Как «продолжить» или «ломать» в выражении `when` внутри цикла while, используя Kotlin Intellij Без тестов найдено Kotlin Гик-инъекция: разница между getBinding / getExistingBinding / getProvider и getInstance Проверьте, прокручивается ли RecyclerView сверху (findFirstCompletelyVisibleItemPosition не работает) Нулевая безопасность в старых библиотеках Java, используемых в проектах Kotlin Kotlin: For-loop должен иметь метод итератора – это ошибка? База данных комнаты Вставьте или обновите, но сохраните поле базы данных? Android – RoomDb – Объект, вставленный успешно не найден в выбранном запросе в другой активности Kotlin – альтернатива урожаю кортета Python и посылает Kotlin – Самый идиоматический способ преобразования списка в MutableList Набор членов класса (значение) вызывается рекурсивно … почему?

Перегрузка равна 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 в Котлине"

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

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

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