Size: a a a

Kotlin Community

2020 March 08

KZ

Konstantin Zolotov in Kotlin Community
Ну тогда из-за конкаренси, между проверкой и обращением оно может поменяться.
источник

PE

Pavel Erokhin in Kotlin Community
А ты про что "мутабельное", про it? или msg?
источник

KZ

Konstantin Zolotov in Kotlin Community
Мутабельное it
источник

PE

Pavel Erokhin in Kotlin Community
Не, HashMap<...>, не мутабельный же?
источник
2020 March 09

KZ

Konstantin Zolotov in Kotlin Community
Pavel Erokhin
Не, HashMap<...>, не мутабельный же?
Мутабельный, он же джавовый
источник

PE

Pavel Erokhin in Kotlin Community
понял
источник

PE

Pavel Erokhin in Kotlin Community
Konstantin Zolotov
Ну тогда из-за конкаренси, между проверкой и обращением оно может поменяться.
Спасибо, буду знать
источник

KZ

Konstantin Zolotov in Kotlin Community
it[l10String]?.let {} можно без проверок использовать
источник

PE

Pavel Erokhin in Kotlin Community
Спасибо
источник

OY

Oleg Yukhnevich in Kotlin Community
Здесь наверное даже больше не в мутабельности дело, а в том, что вызов через эти скобки [], это просто сокращение от вызова метода get
И получается, что смарткаст не может работать, потому что это метод
источник

D

Denys in Kotlin Community
Oleg Yukhnevich
Здесь наверное даже больше не в мутабельности дело, а в том, что вызов через эти скобки [], это просто сокращение от вызова метода get
И получается, что смарткаст не может работать, потому что это метод
И у нас есть правильный ответ. :)
kotlin.HashMap - это typealias на java.HashMap. А внутри джавовских классов никаких контрактов, конечно же, нет.
источник

OY

Oleg Yukhnevich in Kotlin Community
Denys
И у нас есть правильный ответ. :)
kotlin.HashMap - это typealias на java.HashMap. А внутри джавовских классов никаких контрактов, конечно же, нет.
так не в этом дело
ты же можешь сделать свой класс с оператором get который будет всегда возвращать константу и компилятор всё равно не сделает смарткаст
будь то hashmap или что либо ещё
потому что это просто 2 вызова метода
источник

D

Denys in Kotlin Community
Oleg Yukhnevich
так не в этом дело
ты же можешь сделать свой класс с оператором get который будет всегда возвращать константу и компилятор всё равно не сделает смарткаст
будь то hashmap или что либо ещё
потому что это просто 2 вызова метода
Да, таки верно. Контракты пока не умеют смотреть "в глубь" объектов.
источник

AN

Alexander Nozik in Kotlin Community
Боги спасите нас от китайских школьников: https://github.com/Kotlin/kotlinx.serialization/issues/746. он сначала еще и не в ту репу написал. @sandwwraith мне самому сказать ему, что я о нем думаю или вы сами такую фигню закрываете?
источник

AM

Andrew Mikhaylov in Kotlin Community
А вы говорите, дружелюбное коммьюнити))) Нет бы аккуратно отправить человека в слак, добавив, что гитхаб не для таких вопросов)
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
А вы говорите, дружелюбное коммьюнити))) Нет бы аккуратно отправить человека в слак, добавив, что гитхаб не для таких вопросов)
Я примерно так и хотел сделать. Но настолько тупых вопросов давно не видел
источник

AN

Alexander Nozik in Kotlin Community
еще и в issue и с пометкой feature. Это типа как моя дочь случайным образом тычет во все кнопки.
источник

LS

Leonid Startsev in Kotlin Community
Видимо, придётся таки прокрутить дырочку специально для Map<String, Any> без JsonObject. Раз пятый уже спрашивают, и в слаке, и на гитхабе
источник

AN

Alexander Nozik in Kotlin Community
Leonid Startsev
Видимо, придётся таки прокрутить дырочку специально для Map<String, Any> без JsonObject. Раз пятый уже спрашивают, и в слаке, и на гитхабе
Так в общем виде работать не будет же.
источник

AN

Alexander Nozik in Kotlin Community
Будет падать в рантайме на несериализуемых объектах
источник