Articles of оператор перегрузка

В kotlin, Когда я перегружаю оператор inc (), я получаю ошибку

Следующий код показывает перегрузку функции unaryMinus объекта Point, которая работает нормально. data class Point(val x: Int, val y: Int) operator fun Point.unaryMinus(): Point = Point(-x, -y) Как и выше, перегрузка функции inc () приведет к ошибке. operator fun Point.inc(): Point { return Point(this.x + 1, this.y + 1) } Содержимое ошибки выглядит следующим образом. Ошибка: […]

Kotlin: компилятор не выводит общий тип для некоторых операторов

Почему компилятор Kotlin не может указать общий тип с некоторыми вызовами оператора? Например: class Example { operator inline fun <reified T : Any> unaryMinus(): T { … } } Используя его в основном методе … fun main(args: Array<String>) { val ex = Example() val works: Boolean = ex.unaryMinus() val doesntWork: Boolean = -ex }

Когда именно ключевое слово оператора требуется в Котлине?

В 14-м Kotlin Koan при перегрузке оператора я был удивлен, когда после решения я просмотрел ответ и увидел, что модификатор operator не требуется для метода compareTo : data class MyDate(val year: Int, val month: Int, val dayOfMonth: Int) : Comparable<MyDate> { override fun compareTo(other: MyDate) = when { year != other.year -> year – other.year […]

Intereting Posts
Джексон не может десериализовать классы данных Котлина Добавление «предоставленной» конфигурации в библиотеку kotlin / java с использованием gradle Как проверить, нет ли Моно? кратные пары в карту множества; создавать записи в карте, если они уже не существуют Почему метод ByteBuffer putShort (значение) работает неправильно в моем случае? Могу ли я преобразовать строку в выражение шаблона или выражение лямбда в kotlin? Используйте подпроекты Gradle с мультиплатформой Kotlin Пояснение к литералу функции с приемником в Котлине Запустить службу в фоновом режиме Рекурсивное определение бесконечной последовательности в Котлине setOnLongClickListener в android с kotlin Kotlin Либо монада: рефакторинг вызова конструктора для обработки CPS Не в состоянии получить ответ от smack Вертикальная вертикальная (Vertical) Vert.x конфигурация JSON / YAML (предпочтительнее для каждой среды) Firebase-соединение не работает на Linux в SpringBoot