IllegalAccessError для метода copyOfRange Kotlin

Вы также можете использовать метод compareTo() для сравнения двух строк. Если результат compareTo равен 0, то две строки равны, в противном случае сравниваемые строки не равны.

== сравнивает ссылки и не сравнивает фактические строки. Если вы создали каждую строку, используя new String(somestring).intern(), вы можете использовать оператор == для сравнения двух строк, в противном случае могут использоваться только методы equals () или compareTo.

1
задан Michele Lacorte 19 January 2019 в 08:45
поделиться

1 ответ

Похоже, что компилятор использует неверную версию стандартной библиотеки для запуска самого себя.

Запустите задачу Gradle dependencies с аргументом --configuration kotlinCompilerClasspath в подпроекте, где сборка не может определить причину попадания неверной версии в путь к классам компилятора:

./gradlew dependencies --configuration kotlinCompilerClasspath

Правильный вывод должен выглядеть как:

------------------------------------------------------------
Project :examples/kotlin
------------------------------------------------------------

kotlinCompilerClasspath
\--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.3.11
     +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.11
     |    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.3.11
     |    \--- org.jetbrains:annotations:13.0
     +--- org.jetbrains.kotlin:kotlin-script-runtime:1.3.11
     \--- org.jetbrains.kotlin:kotlin-reflect:1.3.11
          \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.11 (*)

(*) - dependencies omitted (listed previously)
0
ответ дан Ilya 19 January 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: