Size: a a a

2020 October 20

A

Anton in KotlinLangRu
Спасибо
источник

L

Leonid in KotlinLangRu
Сомнительная польза от такого extension. Обычный if задом наперед.
источник

DS

Dmitry ShaDV in KotlinLangRu
Еще можно добавить operator и будет так:
inline operator fun Boolean.invoke(code: () -> Unit) {
   if (this) code()
}

(1 == 1) { println(true)}
источник

A

Anton in KotlinLangRu
Я понял спасибо, проще написать как есть)
источник

BP

Bogdan Panchenko in KotlinLangRu
Leonid
Сомнительная польза от такого extension. Обычный if задом наперед.
нет если у тебя идут let подобные выражения
источник
2020 October 21

VP

Vitaly Peryatin in KotlinLangRu
Использую Json serialization в связке с Retrofit для маппинга моделей

При отправке запроса возвращается следующая ошибка:
kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 48: Expected string or non-null literal
JSON input: {
"timestamp": "2020-10-21T11:07:36",
"data": {},
"isError": false
}


Мой JsonConverterFactory:
Json {
   ignoreUnknownKeys = true
   allowSpecialFloatingPointValues = true
   isLenient = true
}.asConverterFactory(contentType)


Я так понимаю, что он ругается на то, что в значении data пустой Json объект. Свойство data у меня nullable и по дефолту принимает значение null. Все поля объекта data имеют значения по умолчанию

Как исправить эту ошибку?
источник

JI

Jalol Imomaddinov in KotlinLangRu
Vitaly Peryatin
Использую Json serialization в связке с Retrofit для маппинга моделей

При отправке запроса возвращается следующая ошибка:
kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 48: Expected string or non-null literal
JSON input: {
"timestamp": "2020-10-21T11:07:36",
"data": {},
"isError": false
}


Мой JsonConverterFactory:
Json {
   ignoreUnknownKeys = true
   allowSpecialFloatingPointValues = true
   isLenient = true
}.asConverterFactory(contentType)


Я так понимаю, что он ругается на то, что в значении data пустой Json объект. Свойство data у меня nullable и по дефолту принимает значение null. Все поля объекта data имеют значения по умолчанию

Как исправить эту ошибку?
Думаю сделать "data" : null
источник

J

JenkaRage in KotlinLangRu
привет, курсы бесплатные, желательно с картинками.. посоветуйте.. Чтоб прямо крутые и бесплатные по Котлин
источник

QH

Quantum Harmonizer in KotlinLangRu
JenkaRage
привет, курсы бесплатные, желательно с картинками.. посоветуйте.. Чтоб прямо крутые и бесплатные по Котлин
Посмотри в описании @kotlin_lang
источник

J

JenkaRage in KotlinLangRu
Quantum Harmonizer
Посмотри в описании @kotlin_lang
ну такое..
источник

QH

Quantum Harmonizer in KotlinLangRu
JenkaRage
ну такое..
Ну не смотри
источник

A

Anton in KotlinLangRu
Привет. Вопрос по базовому ооп, но всё же хочу узнать ваше мнение. Есть абстрактный класс, который много где юзается, и я хочу добавить несколько функций, но не изменяя его. Я создал свой абстрактный класс, унаследовался от того, чей интерфейс мне нужен и добавил нужные мне методы. Вроде бы, всё отлично. Но ведь остались абстрактные методы, которые надо определить в наследнике. Я сделал подобную запись "abstract override fun action(item: T)". Так вот хочу узнать, нормально ли это вообще делать подобную запись?
источник

L

Leonid in KotlinLangRu
Лучше иметь много интерфейсов, каждый из которых имеет свое предназначение, чем один монструозный интерфейс, при реализации которого приходится добавлять и ненужные в конкретном случае методы.
источник

A

Anton in KotlinLangRu
Это я понимаю, но всё же, система уже написана до меня. Мне же стало интересно подходит ли такой кейс. Ведь, по сути, в рамках ООП в таком решении нет ничего плохого. То есть, это нормально если я хочу унаследовать одним абстрактным классом другой
источник

L

Leonid in KotlinLangRu
Конечно, так наследовать можно.
источник

A

Anton in KotlinLangRu
Leonid
Конечно, так наследовать можно.
Спасибо за ответ :)
источник

SK

Stepan Kladikov in KotlinLangRu
В котлине можете подложить реализацию другого класса используя делегирование, если этот вариант подходит
источник

BP

Bogdan Panchenko in KotlinLangRu
Stepan Kladikov
В котлине можете подложить реализацию другого класса используя делегирование, если этот вариант подходит
в случае абстрактного класса не подходит
источник

SK

Stepan Kladikov in KotlinLangRu
Bogdan Panchenko
в случае абстрактного класса не подходит
И правда, прошу прощения
источник

BP

Bogdan Panchenko in KotlinLangRu
Stepan Kladikov
И правда, прошу прощения
ну абстрактный класс редко существует в вакууме , скорей всего есть какая-то реализация
источник