
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
если границ нет

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
в аргументах методов

Mi
03.09.2017
19:27:13

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]

Anton
03.09.2017
19:28:53

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

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
там еще какой то третий способ был но я его не помню

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

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

Google

Igor
03.09.2017
20:15:36

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

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

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

Quantum Harmonizer
04.09.2017
06:31:33

Google

Quantum Harmonizer
04.09.2017
06:32:56

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

Dmitry
04.09.2017
09:25:13

Алексей
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
это вообще законно? я имею ввиду пэккаджи с одиннаковыми именами
а вообще как бы в ошибке все написано

Yuri
04.09.2017
09:56:53

Алексей
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

Алексей
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?