Size: a a a

Kotlin Community

2020 August 14

PE

Pavel Erokhin in Kotlin Community
Point дата классом сделай
источник

l

lavagod in Kotlin Community
Pavel Erokhin
Point дата классом сделай
Да, сработало. Спасибо.
источник

PE

Pavel Erokhin in Kotlin Community
И лучше не копипастить в две сразу беседы один вопрос)
источник

AG

Artem Gilmudinov in Kotlin Community
Всем привет!
А кто-нибудь в курсе почему в ktor okhttp редиректы по дефолту отключены?
https://github.com/ktorio/ktor/blob/master/ktor-client/ktor-client-okhttp/jvm/src/io/ktor/client/engine/okhttp/OkHttpConfig.kt#L16
источник

AN

Alexander Nozik in Kotlin Community
lavagod
Да, сработало. Спасибо.
Учтите оговорку про плавающую точку. Там могут быть сюрпризы
источник

PE

Pavel Erokhin in Kotlin Community
Alexander Nozik
Учтите оговорку про плавающую точку. Там могут быть сюрпризы
при == ?, по-моему такое бывает когда сравниваешь > <
А
все сори), туплю)
источник

AN

Alexander Nozik in Kotlin Community
Pavel Erokhin
при == ?, по-моему такое бывает когда сравниваешь > <
А
все сори), туплю)
Всегда. Число с плавающей точкой может выглядеть одинаково в виде строки, но внутри битик другой и равенства нет. Точное сравнение чисел с плавающей точкой - это очень опасная штука.
источник

I

Ivan in Kotlin Community
if (map[0] != null) {
   map[0]!!.add(o)
} else {
   map[0] = mutableListOf(o)
}


А вот не спроста же котлин во второй строчке требует ? или !!?

По идее же, я уже проверяю, что в мапе нулевой элемент не равен нуллу.

Получается, что кусок выше небезопасный?
источник

PE

Pavel Erokhin in Kotlin Community
безопасный
источник

PE

Pavel Erokhin in Kotlin Community
анализатор кода мб не учитывает че там в map[x] передаешь
источник

I

Ivan in Kotlin Community
выглядит это так
источник

PE

Pavel Erokhin in Kotlin Community
!! ставь и забей
источник

I

Ivan in Kotlin Community
Pavel Erokhin
!! ставь и забей
окей, так и сделал, спасибо
источник

КР

Кирилл Романенко... in Kotlin Community
Ivan
if (map[0] != null) {
   map[0]!!.add(o)
} else {
   map[0] = mutableListOf(o)
}


А вот не спроста же котлин во второй строчке требует ? или !!?

По идее же, я уже проверяю, что в мапе нулевой элемент не равен нуллу.

Получается, что кусок выше небезопасный?
Безопасный, но лучше переписать вот так:
map[0]?.add(o) ?: run { map[0] = mutableListOf(o) }

Или же
map[0]?.let { it.add(o) } ?: run { map[0] = mutableListOf(o) }
источник

PE

Pavel Erokhin in Kotlin Community
Кирилл Романенко
Безопасный, но лучше переписать вот так:
map[0]?.add(o) ?: run { map[0] = mutableListOf(o) }

Или же
map[0]?.let { it.add(o) } ?: run { map[0] = mutableListOf(o) }
+1
источник

SB

Sergey Barmin in Kotlin Community
ну оно конечно это не зря пишет, если map это нечто мутабельное и не потокобезопасное
источник

AS

Andrey Stepankov in Kotlin Community
Ivan
if (map[0] != null) {
   map[0]!!.add(o)
} else {
   map[0] = mutableListOf(o)
}


А вот не спроста же котлин во второй строчке требует ? или !!?

По идее же, я уже проверяю, что в мапе нулевой элемент не равен нуллу.

Получается, что кусок выше небезопасный?
Там же некая функция get, которая выдает nullable, откуда знать, что в реализации mutable map, get не вернет другое значение потом.
источник

I

Ivan in Kotlin Community
Кирилл Романенко
Безопасный, но лучше переписать вот так:
map[0]?.add(o) ?: run { map[0] = mutableListOf(o) }

Или же
map[0]?.let { it.add(o) } ?: run { map[0] = mutableListOf(o) }
угу, спасибо, были такие мысли
источник

AS

Andrey Stepankov in Kotlin Community
Ivan
if (map[0] != null) {
   map[0]!!.add(o)
} else {
   map[0] = mutableListOf(o)
}


А вот не спроста же котлин во второй строчке требует ? или !!?

По идее же, я уже проверяю, что в мапе нулевой элемент не равен нуллу.

Получается, что кусок выше небезопасный?
val list = map[0] ?: mutableListOf()
list.add(o)
map[0] = list

Можно по идее вот так
источник

I

Ivan in Kotlin Community
Andrey Stepankov
val list = map[0] ?: mutableListOf()
list.add(o)
map[0] = list

Можно по идее вот так
да думаю, вот такое вынести в extension

map[0]?.add(o) ?: run { map[0] = mutableListOf(o) }
источник