Size: a a a

Kotlin Community

2020 October 23

PE

Pavel Erokhin in Kotlin Community
по котлину — любые в принципе
источник

AL

Alexander Levin in Kotlin Community
Franky OoGle
Какие вопросы можно тут задавать ? :)
В правилах расписано. Если вопросы про Котлин - welcome, если вопрос по Андроиду, просто конкретно вы пишете на Котлине - пока что лучше писать в группу по андроиду. Иногда есть пересечения (код на андроиде, который может быть только в Котлине, например Jetpack Compose), то можно написать в @kotlin_mobile :)
источник

FO

Franky OoGle in Kotlin Community
Alexander Levin
В правилах расписано. Если вопросы про Котлин - welcome, если вопрос по Андроиду, просто конкретно вы пишете на Котлине - пока что лучше писать в группу по андроиду. Иногда есть пересечения (код на андроиде, который может быть только в Котлине, например Jetpack Compose), то можно написать в @kotlin_mobile :)
Всё понял .. спасибо 🥰
источник

AN

Alexander Nozik in Kotlin Community
Выкатили видюшку для образования: https://youtu.be/MQPeEOf3G7A
источник

AN

Alexander Nozik in Kotlin Community
И запись Хади тоже вчера выкатили: https://youtu.be/Ga_jUBj-sK0
источник

NK

Nikita Kulikov in Kotlin Community
Привет. Возможно ли в Koltin сделать switch case по строкам, который будет сравнивать ссылки, а не строки?
Есть ли где-то объяснение как работает switch case по строкам в kotlin (идеально в android)?
источник

QH

Quantum Harmonizer in Kotlin Community
Nikita Kulikov
Привет. Возможно ли в Koltin сделать switch case по строкам, который будет сравнивать ссылки, а не строки?
Есть ли где-то объяснение как работает switch case по строкам в kotlin (идеально в android)?
Разве что ифом.
источник

VP

Vladimir Petrakovich in Kotlin Community
Nikita Kulikov
Привет. Возможно ли в Koltin сделать switch case по строкам, который будет сравнивать ссылки, а не строки?
Есть ли где-то объяснение как работает switch case по строкам в kotlin (идеально в android)?
Скорее нет, но можно сделать свою обёртку, которая в equals/hashCode будет сравнивать ссылки.
Но вообще очень сомнительная затея, зачем вам это?
источник

AN

Alexander Nozik in Kotlin Community
Nikita Kulikov
Привет. Возможно ли в Koltin сделать switch case по строкам, который будет сравнивать ссылки, а не строки?
Есть ли где-то объяснение как работает switch case по строкам в kotlin (идеально в android)?
В kotlin, как и в Java строки не имеют глобальной identity, поэтому сравнивать их по ссылкам абсолютно бессмысленно
источник

с#

саша сок #KotlinGang... in Kotlin Community
какие люди)
источник

AL

Alexander Levin in Kotlin Community
Alexander Nozik
В kotlin, как и в Java строки не имеют глобальной identity, поэтому сравнивать их по ссылкам абсолютно бессмысленно
Эм. Т.е. сравнивать конечно очень странно, но не совсем честно говорить, что у строк нету identity:

fun main() {
   val a = "abc"
   val b = java.lang.String("abc") as kotlin.String
   println(a == b) //true
   println(a === b) //false
}
источник

AN

Alexander Nozik in Kotlin Community
Alexander Levin
Эм. Т.е. сравнивать конечно очень странно, но не совсем честно говорить, что у строк нету identity:

fun main() {
   val a = "abc"
   val b = java.lang.String("abc") as kotlin.String
   println(a == b) //true
   println(a === b) //false
}
Она не гарантируется. JVM может константы инлайнить
источник

AN

Alexander Nozik in Kotlin Community
Alexander Levin
Эм. Т.е. сравнивать конечно очень странно, но не совсем честно говорить, что у строк нету identity:

fun main() {
   val a = "abc"
   val b = java.lang.String("abc") as kotlin.String
   println(a == b) //true
   println(a === b) //false
}
К примеру ваш же пример: https://pl.kotl.in/lPlLqTtG6
источник

AN

Alexander Nozik in Kotlin Community
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
Она не гарантируется. JVM может константы инлайнить
new гарантированно (по JLS) создаёт новый объект, и если потянуться к его identity, никто его не заинлайнит
источник

AL

Alexander Levin in Kotlin Community
Alexander Nozik
К примеру ваш же пример: https://pl.kotl.in/lPlLqTtG6
Наличие пула строк (из-за которого действительно будет ссылка иногда совпадать) не означает, что identity нету. Т.е. да, тот же new тебе всегда новую строку выплюнет.
источник

AN

Alexander Nozik in Kotlin Community
Alexander Levin
Наличие пула строк (из-за которого действительно будет ссылка иногда совпадать) не означает, что identity нету. Т.е. да, тот же new тебе всегда новую строку выплюнет.
В последнем докладе Елизаров назвал это по-моему локальной идентичностью.
источник

с#

саша сок #KotlinGang... in Kotlin Community
у нас в котлине когда-нибудь будет каститься не exhaustive expression к Unit ??
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
у нас в котлине когда-нибудь будет каститься не exhaustive expression к Unit ??
ы?
источник

с#

саша сок #KotlinGang... in Kotlin Community
ну не каститься, а просто иметь тип Unit. а то очень неудобно
источник