Size: a a a

Kotlin Community

2020 October 23

с#

саша сок #KotlinGang... in Kotlin Community
Vladimir Petrakovich
Ну тогда придётся смириться с вложенностью (которая по факту одинаковая) 🤷‍♂️
fun a() = when {

}

fun a() {
   when {

   }
}
источник

с#

саша сок #KotlinGang... in Kotlin Community
Pavel Erokhin
тоже не понимаю зачем тут when юзать) когда можно if и выйдет короче
потому что у меня будет 3 ошибки. и что мне делать ?
источник

PE

Pavel Erokhin in Kotlin Community
саша сок #KotlinGang
потому что у меня будет 3 ошибки. и что мне делать ?
добавить еще условие
источник

VP

Vladimir Petrakovich in Kotlin Community
саша сок #KotlinGang
fun a() = when {

}

fun a() {
   when {

   }
}
И что, первое читается легче?
источник

с#

саша сок #KotlinGang... in Kotlin Community
Vladimir Petrakovich
И что, первое читается легче?
с подсветкой да.
источник

SB

Sergey Barmin in Kotlin Community
Pavel Erokhin
нет же
В смысле нет?
источник

с#

саша сок #KotlinGang... in Kotlin Community
Sergey Barmin
В смысле нет?
ну так там если 2 ошибки, как у меня, то всё ок
источник

PE

Pavel Erokhin in Kotlin Community
Sergey Barmin
В смысле нет?
окей ) чет тупанул
источник

с#

саша сок #KotlinGang... in Kotlin Community
Pavel Erokhin
окей ) чет тупанул
я про иф так-то тоже написал, что если там одно условие, его тоже можно приводить к Unit. но такое только в лямбдах
источник

NK

Nikita Kulikov in Kotlin Community
Vladimir Petrakovich
Скорее нет, но можно сделать свою обёртку, которая в equals/hashCode будет сравнивать ссылки.
Но вообще очень сомнительная затея, зачем вам это?
Перформанс?
источник

NK

Nikita Kulikov in Kotlin Community
Alexander Nozik
В kotlin, как и в Java строки не имеют глобальной identity, поэтому сравнивать их по ссылкам абсолютно бессмысленно
В случае если это одна строка, почему нет?
источник

NK

Nikita Kulikov in Kotlin Community
Одна строка в плане одна переменная
источник

AN

Alexander Nozik in Kotlin Community
Nikita Kulikov
В случае если это одна строка, почему нет?
Я не понял, в чем вопрос. Для строк сравнение по ссылке не осмыслено. Если вы это для скорости делаете, босьте, это уже внутри JVM оптимизирвоан.
источник

VP

Vladimir Petrakovich in Kotlin Community
Nikita Kulikov
Перформанс?
Ух, тогда точно бросайте эту затею
источник

NK

Nikita Kulikov in Kotlin Community
Vladimir Petrakovich
Ух, тогда точно бросайте эту затею
Почему?
источник

VP

Vladimir Petrakovich in Kotlin Community
Nikita Kulikov
Почему?
Потому что вы с этой "оптимизации" ничего не выиграете
источник

AN

Alexander Nozik in Kotlin Community
Nikita Kulikov
Почему?
Я написал почему. Это сравнение уже оптимизируется в JVM. Лучше вы не сделаете точно.
источник

VP

Vladimir Petrakovich in Kotlin Community
Не знаю, как там в андроиде, но в JDK первое, что делает String.equals() - сравнивает ссылки
источник

с#

саша сок #KotlinGang... in Kotlin Community
Nikita Kulikov
Почему?
уже давно всё за вас оптипимизировали
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Не знаю, как там в андроиде, но в JDK первое, что делает String.equals() - сравнивает ссылки
Это любой equals делает. Но для строк там еще дополнительные оптимизации.
источник