@kotlin_lang

Страница 302 из 982
Lev
03.09.2017
19:24:52
потому что у меня тут движение от частного к общему в данном случае разрешено

Mi
03.09.2017
19:24:53
в котлине и так и так можно вроде

Lev
03.09.2017
19:25:02
А вот безопасно передать аргумент В метод - не получится

Anton
03.09.2017
19:25:12
ну дженерики стираются и тоже становятся List<Object>

Google
Anton
03.09.2017
19:25:15
если границ нет

get(1)
и еще кастить придется

Lev
03.09.2017
19:26:16
Я правильно понял что во всем этом замешано то, что в аргументах можно использовать только наследников а безопасно кастовать переменные можно только в предков?

Mi
03.09.2017
19:26:37
вообще проблема дженериков в джаве в том, что джавовый рантайм не может отследить в коллекциях ситуацию, при которой в массивах возникает ArrayStoreException

Anton
03.09.2017
19:26:38
что за аргументы

Lev
03.09.2017
19:26:55
в аргументах методов

Lev
03.09.2017
19:27:46
то есть я это и раньше понимал =))) Я просто до сих пор плохо понимал (надеюсь понял) в чем хрень с этими дженериками и че вообще с этим так пляшут

Object[] и String[] - это ведь очень похожая история

Mi
03.09.2017
19:28:17
кстати из-за затирания типов нельзя создать массив из параметризованных объектов

Lev
03.09.2017
19:28:35
это уже детали реализации

Mi
03.09.2017
19:28:37
типа new ArrayList<String>[10]

Google
Anton
03.09.2017
19:28:58
можн осоздавать массив дженериков

Mi
03.09.2017
19:29:07
и ещё поэтому нельзя словить параметризованный эксепшон

Anton
03.09.2017
19:29:08
я лично знаю 2 способа

1 через arrays.newisntance

Mi
03.09.2017
19:29:21
я лично знаю 2 способа
без хаков нельзя

Anton
03.09.2017
19:29:24
другой кастить при get

к дженерику

так внутри arraylist'a же массив из дженериков?

Mi
03.09.2017
19:29:49
когда ты используешь рефлексию, ты говоришь компилятору, что знаешь, что делаешь

Lev
03.09.2017
19:30:00
вернусь через 15 минут

Mi
03.09.2017
19:30:00
и unsafe cast тоже

Anton
03.09.2017
19:30:14
ансейф не использую - боюсь

Lev
03.09.2017
19:30:21
Это ведь правильно что String[] не является наследником Object[] ?

Mi
03.09.2017
19:30:45
java.lang.Unsafe и unsafe cast это разные вещи

Lev
03.09.2017
19:30:50
в общем случае?

Mi
03.09.2017
19:31:28
является вроде бы

Anton
03.09.2017
19:31:37
java.lang.Unsafe и unsafe cast это разные вещи
да уже туплю после часа обьяснения инвариантности

там еще какой то третий способ был но я его не помню

Mi
03.09.2017
19:32:07
да и зачем его помнить

Anton
03.09.2017
19:32:16
для общего развития)

Google
Igor
03.09.2017
20:15:36
java.lang.Unsafe и unsafe cast это разные вещи
Ты же про sun.misc.unsafe? (или я чего-то не знаю)

Mi
03.09.2017
20:15:58
Quantum Harmonizer
03.09.2017
20:45:03
1. Unchecked cast. 2. sun.misc.Unsafe

Lev
03.09.2017
20:52:11
Так... Я наверно разобрался с вариантностью

Генетики в яве инвариантны?

Quantum Harmonizer
03.09.2017
20:56:45
По дефолту, без wildcards — инвариантны.

Lev
03.09.2017
21:08:09
А вайлдкарды что дают?

Mi
03.09.2017
21:09:49
Генетики в яве инвариантны?
да, только не генетики, а генеРики (generics)

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

Quantum Harmonizer
03.09.2017
21:16:21
А вайлдкарды что дают?
ковариантность и контравариантность :)

Lev
03.09.2017
21:16:37
Понятно

А в Котлин это попроще. Просто in и out, да ещё и прям в методах можно указывать

Так?

А вот звёздочку в Котлин... Что то не вошло

Gleb ?
04.09.2017
01:54:09
https://m.habrahabr.ru/post/337002/.com

Nikita
04.09.2017
05:32:19
А на каком этапе выполняется kapt?

Лёша
04.09.2017
05:55:35
А на каком этапе выполняется kapt?
Можно открыть лог гредла и проследить что за чем происходит

Nikita
04.09.2017
05:57:06
Все, нашел доки.

Можно открыть лог гредла и проследить что за чем происходит
Я тут прочитал как это все работает... Сомневаюсь, что я бы по логам градла догадался

Quantum Harmonizer
04.09.2017
06:31:33
Google
Quantum Harmonizer
04.09.2017
06:32:56
А вот звёздочку в Котлин... Что то не вошло
Как вопросик в Java. Неизвестный тип. Эквивалентно out Any и in Nothing.

Алексей
04.09.2017
09:23:15
Ребят, а как написать тесты на internal class? Говорит «cannot access», нашел этот тикет https://youtrack.jetbrains.com/issue/KT-9441 но у меня и версии ввроде свежие, и классы в идентичных пекейджах лежат, но что-то не але =/

Алексей
04.09.2017
09:25:21
в одном

хрень какая-то, на чистом проекте все работает прекрасно) видимо все-таки считает что не в одном

Nikita
04.09.2017
09:41:33
я заметил с internal есть проблема на каком то одном из unit или androidTest тестах

Алексей
04.09.2017
09:42:28
ну вот это как-раз androidTest

Nikita
04.09.2017
09:43:01
есть хак написать тест на java )

там internal доступен

Алексей
04.09.2017
09:43:42
просто непонятно почему на пустом проекте все ок, а на старом ругается

кажется повторил

если создать дополнительный модуль и в нем тест писать - не рабит =(



так и должно быть или я чего-то не знаю?)

Евгений
04.09.2017
09:55:40
это вообще законно? я имею ввиду пэккаджи с одиннаковыми именами

а вообще как бы в ошибке все написано

Алексей
04.09.2017
09:57:27
ну и что?) на сколько я знаю котлин позволяет тестировать интернал классы если они в одном модуле)

Quantum Harmonizer
04.09.2017
10:01:14
Евгений
04.09.2017
10:02:10
я просто уточнил)

Google
Boris
04.09.2017
10:45:43
так и должно быть или я чего-то не знаю?)
Смысл internal в том, чтобы его из других модулей не было видно.

Алексей
04.09.2017
10:46:36
Но не для тестов же)

Boris
04.09.2017
10:47:57
Какая же разница для чего? Главное, чтобы видно не было

А как тесты в другой модуль попали?

Алексей
04.09.2017
10:59:57
они в том-же модуле находятся)



как тогда по тому-же принципу эти тесты работают?)

Igor
04.09.2017
11:02:24
Алексей
04.09.2017
11:03:06


ну на самом деле их 2

просто тесты в модуле app проходят, а тесты в модуле mylibrary нет

Yuri
04.09.2017
12:11:32
кто знает почему котлиновские файлы не попадают в aar, когда подтягиваешь либу с репозитория через градл

Lev
04.09.2017
12:39:34
Кто хочет посидеть со мной в качестве помощника во впиливании котлина в Java (spring) и js(несколько разнообразных либ) сейчас, сегодня? О цене договоримся.

JRoot3D
04.09.2017
12:54:40
Здравствуйте! Может кто подсказать по Anko?

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