Size: a a a

2019 November 05

D

Denys in Kotlin Start
Или не наследовать лист/использовать собственный сериализатор.
источник

P

Phoenix in Kotlin Start
Andrew Mikhaylov
Ну значит это не с котлином проблема, а глобально с jackson-ом.

Оно и логично, что он все списки одинаково сериализует, наверна, есть смысл смотреть в сторону того, как заоверрайдить сериализацию для конкретной коллекции.
Пожалуй да, спасибо. К сожалению это излишне усложнит логику, потому прийдется искать менее красивые пути, без делегации.
источник

AM

Andrew Mikhaylov in Kotlin Start
А цепануть стандартный механизм сериализации Джексона, но в явном виде, нельзя? Помнится, когда я ручками сериализовывал sealed class в kotlinx.serialization, там такое возможно было сделать.
источник

TT

Turalllb Turalll in Kotlin Start
switch (forceRefresh, oldState.serialControlsState, newState.serialControlsState) {
       case (false, .closed, .closed), (false, .open, .open): break
       case (_, _, .closed)
источник

TT

Turalllb Turalll in Kotlin Start
мы не можем в котлин написать таким образом ?
источник

AL

Alexander Levin in Kotlin Start
Turalllb Turalll
switch (forceRefresh, oldState.serialControlsState, newState.serialControlsState) {
       case (false, .closed, .closed), (false, .open, .open): break
       case (_, _, .closed)
Скорее нет, чем да. When по нескольким выражениям нету. Можно их конечно объединять:
when (Triple(some, foo, bar)) {
...


Но:
а) Из коробки есть только пары и тройки значений (наверное это мелочь, но спорно)
б) Можно сравнивать только с точными значениями, т.е. не выйдет написать Triple(_, _, false) -> doSomething()

P.S. Т.е. можно ещё условно сделать when функцией, но это возможно не сильно поможет в плане читаемости.
источник

TT

Turalllb Turalll in Kotlin Start
Alexander Levin
Скорее нет, чем да. When по нескольким выражениям нету. Можно их конечно объединять:
when (Triple(some, foo, bar)) {
...


Но:
а) Из коробки есть только пары и тройки значений (наверное это мелочь, но спорно)
б) Можно сравнивать только с точными значениями, т.е. не выйдет написать Triple(_, _, false) -> doSomething()

P.S. Т.е. можно ещё условно сделать when функцией, но это возможно не сильно поможет в плане читаемости.
жаль, мне как раз нужно Triple(_, _, false) -> doSomething()
источник

ch

central hardware in Kotlin Start
Кто то сталкивался с проблемой что надо хранить информацию более менее защищенным способом? как решал? ps не андройд
источник

TT

Turalllb Turalll in Kotlin Start
Alexander Levin
Скорее нет, чем да. When по нескольким выражениям нету. Можно их конечно объединять:
when (Triple(some, foo, bar)) {
...


Но:
а) Из коробки есть только пары и тройки значений (наверное это мелочь, но спорно)
б) Можно сравнивать только с точными значениями, т.е. не выйдет написать Triple(_, _, false) -> doSomething()

P.S. Т.е. можно ещё условно сделать when функцией, но это возможно не сильно поможет в плане читаемости.
ну а вообще думаю не сильно читаемость понизится, если написать это просто последовательными условиями if
источник

ПГ

Павло Гриник in Kotlin Start
when {
   !forceRefresh && oldState.serialControlState.closed && oldState.serialControlState.closed -> ...
   !forceRefresh && oldState.serialControlState.open && oldState.serialControlState.open -> ...
   oldState.serialControlState.closed -> ...
}
источник

ПГ

Павло Гриник in Kotlin Start
Разве что так, но слишком многословно
источник

AM

Andrew Mikhaylov in Kotlin Start
Turalllb Turalll
ну а вообще думаю не сильно читаемость понизится, если написать это просто последовательными условиями if
Depends. Я в одном месте в коде матчу пару, прям очень хорошо легло.
источник

AM

Andrew Mikhaylov in Kotlin Start
Хотя, возможно, там и хранить пару логично... Пойду отрефакторю 😁
источник

TT

Turalllb Turalll in Kotlin Start
Andrew Mikhaylov
Depends. Я в одном месте в коде матчу пару, прям очень хорошо легло.
Ну потом сравнивая пары нельзя поставить _ и тем самым сказать что первые элементы пар сравнивать не надо
источник

TT

Turalllb Turalll in Kotlin Start
Если заморочиться думаю можно свой switch написать,  который будет это в список if переделывать,  a нижнее подчеркивание сделать оператором.  Ну я так думаю) надо попробовать
источник

AM

Andrew Mikhaylov in Kotlin Start
Turalllb Turalll
Ну потом сравнивая пары нельзя поставить _ и тем самым сказать что первые элементы пар сравнивать не надо
Всё так. Паттерн матчинг в язык всё ещё не завезли. :)
источник

P

Phoenix in Kotlin Start
Turalllb Turalll
Если заморочиться думаю можно свой switch написать,  который будет это в список if переделывать,  a нижнее подчеркивание сделать оператором.  Ну я так думаю) надо попробовать
нижнее подчеркивание не выйдет сделать оператором, там строгий список
источник

AM

Andrew Mikhaylov in Kotlin Start
Там речь не совсем об операторе шла, но идентификатором проперти его тоже нельзя сделать. Но можно сделать какой-нибудь маркер any, не суть. Хотя это всё всё равно полумера :)
источник

TT

Turalllb Turalll in Kotlin Start
Andrew Mikhaylov
Там речь не совсем об операторе шла, но идентификатором проперти его тоже нельзя сделать. Но можно сделать какой-нибудь маркер any, не суть. Хотя это всё всё равно полумера :)
Короче буду ifыыы писать)
источник
2019 November 06

AK

Andrey Korzhov in Kotlin Start
чем отличается class A : AI от data class A{}:AI ?
источник