Intereting Posts
Как получить доступ к членам внутреннего объекта в Котлине Вставить или добавить элемент в ArrayList в Котлин? Почему тип NULL + null неявно String в Kotlin? Внедрение типизированного класса, параметризованного абстрактным типом Почему этот класс считается окончательным? JOOQ с Gradle и Kotlin не генерируют файлы Разрешены только безопасные или неаудированные звонки, разрешенные для нулевого типа приемника arraylist Сбой Gradle не удалось с Gradle 3.3 Невозможно вызвать функцию расширения kotlin из java Kotlin: Как проверить, имеет ли число десятичные точки (решение модуля не работает) Возвращение null от fun в kotlin kotlin внутренний класс can not доступ к закрытому методу снаружи? Захват изображений и видео, таких как рассказы Snapchat / Instagram Gradle compileKotlin includeRuntime, не добавляя время выполнения в jar Как выбрать, какая перегрузка Java переопределить в производном классе Kotlin?

Почему == и равные производят разные результаты?

Выполнение следующего кода:

inline fun <reified R> foobar() { println(R::class == Double::class) println(R::class.equals(Double::class)) } fun main(args: Array<String>) { foobar<Double>() } 

Производит следующий вывод:

 false true 

Почему в этом случае существует разница между == и equals? Сам IntelliJ предлагает заменить знак равенства на ==. Кроме того, я мог бы поклясться, что этот код с использованием == работал в прошлом.

Использование kotlin версии 1.1.0-rc91

Такое поведение является известной проблемой в генерации кода для токенов класса с параметрами типа reified , и это отслеживается здесь: KT-17748 .