#java #android #kotlin #jvm
#java #Android #kotlin #jvm
Вопрос:
Я много раз задавался вопросом, принадлежит ли метод, который я использую, исходному коду Java или он был написан также в Kotlin. Есть ли способ узнать, встроен ли метод, который я использую, в Kotlin или косвенно использует метод Java?
Комментарии:
1. Ctrl щелкните метод в Android Studio или IntelliJ, чтобы перейти к его исходному коду.
2. @Tenfour04, итак, я сделал то, что вы сказали в ArrayList, и это привело меня к странному файлу, в котором нет никакой реализации для методов, и все свойства не инициализированы. Скрывает ли Kotlin их код?
3. Стандартные библиотеки Kotlin и Java имеют открытый исходный код. Похоже, ваш проект не настроен на отображение источников. Разве это не дает вам возможность сделать это в верхней части этого файла?
4. @Tenfour04, возможно, есть проблема с тем, как я это делаю. Сначала я пишу mutableListOf , затем ctrl b, затем я вижу метод: public inline fun <T> mutableListOf(): MutableList<T> = ArrayList() , при нажатии ctrl b на ArrayList() он приводит меня к классу с синтаксисом Kotlin, но только с объявлением. Можете ли вы сказать, что я делаю не так? Также в подписи класса я вижу слово: ожидать класс …
5. Это потому, что Kotlin stdlib заимствует Java-реализацию ArrayList . Это сквозной переход. Некоторые классы из Java сопоставляются компилятором с Kotlin, поэтому они нарушают типичные правила для некоторых вещей, например, переименования некоторых методов.