@kotlin_lang

Страница 797 из 982
Mirlan
07.08.2018
06:03:30
а в чем проблема?
interface как пигется?

Андрей
07.08.2018
06:04:17
interface как пигется?
я так полагаю с хешмапом во главе

Андрей
07.08.2018
06:05:38
а почему нет?

Google
Андрей
07.08.2018
06:05:47
ну если уж совсем не зайдет

всегда можно сделать массив объектов

Mirlan
07.08.2018
06:06:17
а почему нет?
кей должен быть инт

Андрей
07.08.2018
06:06:21
можешь скинуть как должен выглядеть body отправки?

Mirlan
07.08.2018
06:06:36
вот

Андрей
07.08.2018
06:07:16
вот
raw body реквеста, а не замаппленный скрин

кей должен быть инт
и в чем проблема?

Mirlan
07.08.2018
06:07:55
хеш

put не работает

через инт

Андрей
07.08.2018
06:08:12
HashMap<Integer,Object>

с чего бы не работает?

ну Object замени на что нужно уже

Google
Mirlan
07.08.2018
06:09:00
HashMap<Integer,Object>
работает?

попробую

Андрей
07.08.2018
06:09:32
работает?
ты серьезно не знал что в HashMap интеджер может быть ключем? О_о

Mirlan
07.08.2018
06:10:11
?

знаю

я вообще подозреваю

Андрей
07.08.2018
06:10:42
там только для таких вещей и навернули сам класс Integer

хотя в котлине

можно Int сувать

объект же

Mirlan
07.08.2018
06:11:10
я вам потом в личку напишу

Farid
07.08.2018
08:23:04
Здорова всем. Есть ли годные библиотеки под telegram api?

Спамер у вас вроде завёлся, так, к сведению

Artemka
07.08.2018
08:24:46
Здорова всем. Есть ли годные библиотеки под telegram api?
Да, у них даже на офф сайте есть ссылки

Quantum Harmonizer
07.08.2018
08:25:06
Kotlogram есть ещё

Farid
07.08.2018
08:25:20
Да, у них даже на офф сайте есть ссылки
Например есть Java SDK. Я его могу для котлина использовать? У ВК есть.

Artemka
07.08.2018
08:25:42
Все ,что для Java можно использовать и в Kotlin

Farid
07.08.2018
08:29:26
Спасибо

riki
07.08.2018
08:46:27


Google
riki
07.08.2018
08:47:07
и соответственно T приводиться к типу ViewModel и я не могу вызвать свой метод

Alexandr
07.08.2018
08:48:19
так ты в самом методе имя дженерику другое дай и все заработает

riki
07.08.2018
08:49:21


Alexandr
07.08.2018
08:51:18
а теперь найди самое главное отличие :)

Alexandr
07.08.2018
08:51:52
у тебя в java примере просто метод, в котлине - объявлен дженерик еще и в самом методе

riki
07.08.2018
08:53:52
когда я имплеменчу ViewModelProvider.Factory

Alexandr
07.08.2018
08:55:28
когда я имплеменчу ViewModelProvider.Factory
как выглядит этот интерфейс?

riki
07.08.2018
08:56:01


Alexandr
07.08.2018
08:58:37
ваша джавовая реализация не соответствует интерфейсу

riki
07.08.2018
08:59:56
ваша джавовая реализация не соответствует интерфейсу
если бы было несоответствие, то студия подчеркнула бы, или был бы краш?

на котлине работает если добавить в if проверку viewModel is Spot2rViewModel, но тогда нету вообще смыла от этого дженерика

Костя
07.08.2018
09:01:52
если бы было несоответствие, то студия подчеркнула бы, или был бы краш?
подчеркнула бы и не собиралась, ну тут очевидно в интерфейсе у вас дженерик метод, в java классе, у вас дженерик класс, а метод берет тип из класса уже, то есть метод не дженерик в реализации

как это у вас собирается вопрос )

Костя
07.08.2018
09:06:01
ну если исходить из интерфейса, то даймонды(<>) надо переносить в описание метода

ну это надо эксперементировать садиться

Google
Костя
07.08.2018
09:06:13
с кодом

riki
07.08.2018
09:33:40
В джаве удалось упростить метод, потому что она позволяет не указывать тип параметризации, например, в java мы можем спокойно написать List list = new ArrayList(); и дальше ты уже сам ответственен что ты ложишь в этот список. Если же перевести это в котлин, то будет ошибка - нужно указать тип

Admin
ERROR: S client not available

riki
07.08.2018
09:36:11
ну вообще и в джава так писать нехорошо, мне кажется
ну это удобно, если допустим у меня в андроиде адаптер с многими разными типами и я выстраиваю дерево проверяя елементы путем instanceOf

riki
07.08.2018
09:37:03
Что пишет
пришет, что недостаточно информации и нужно явно указать

Костя
07.08.2018
09:37:09
вы указываете явно что адаптер принимает наследнико такого интерфейса

можно даже без привидения методы интерфейса дергать

а в вашем случае вы и Object можете туда кидать, а потом проверять и кастить

но это не будет хорошо..

riki
07.08.2018
09:40:07
в таком случае делается базовый тип или интерфейс
я понимаю, но это излишне для разных типов обьектов и на постореине дерева со списка это никак не отразится

Костя
07.08.2018
09:40:17
например у меня для списков есть BaseRecyclerAdapter, он принимает List<BaseItem>, каждый item имплементит интерфейс BaseItem и два метода, в одном отдает layout_id для инфлэйта, в другом реализуется рендеринг, и всё, получается для всех списков я использую один и тот же адаптер, меняя только список items, и каждый элемент получается рендерит сам себя

Google
Костя
07.08.2018
09:40:36
ещё как отражается такое

или касты ещё какие

Bogdan
07.08.2018
09:45:38
пришет, что недостаточно информации и нужно явно указать
Ну еще можно декомпилировать в джава и сравнит

riki
07.08.2018
10:15:46
А перфомансе ? Каждий раз юзат рефлекси
мне нужно при построении дерева смотреть, есть ли элемент такого-то типа следующий по счету и на основании этого оставлять или убирать текущий элемент

тут общий интерфейс не поможет

то есть, есть группа, подруппа и какой-то элемент, есть в группе ничего нету, то ее не добавляем, если в подругппе ничего нету, то не добавляем и группу и подгруппу

dimiii
07.08.2018
10:52:15
Би-2 - Варвара

Вспомнил про Барбару Лисков - слова как раз в тему

Костя
07.08.2018
10:57:14
то есть, есть группа, подруппа и какой-то элемент, есть в группе ничего нету, то ее не добавляем, если в подругппе ничего нету, то не добавляем и группу и подгруппу
в чем проблема сделать элементы группа, подгруппа ещё, со своим дизайном, и при проверке добавлять их или не добавлять, общий интерфейс как раз нужен чтобы упорядочить элементы в адаптере, а не отдавать туда всё подряд, и там уже разбираться через instanceOf

тогда и смысла от дженериков не было бы, если бы было хорошо делать так

Страница 797 из 982