
Bogdan
23.07.2018
17:55:29

Quantum Harmonizer
23.07.2018
17:55:49

Alexander
23.07.2018
17:57:24
Опять таки, если мы этот проперти получили в компайл тайме, ничего рефлективного, просто синтаксический сахар. То, что осуждается начинается когда мы это получаем в рантайме.
Нарушаем статическую типизацию

Google

Bogdan
23.07.2018
17:57:43

Quantum Harmonizer
23.07.2018
18:02:21

Alexander
23.07.2018
18:03:06
Ага. Но в приведенном примере - это просто ошика проектирвоания.
Я имею в виду постановку задачи

Quantum Harmonizer
23.07.2018
18:03:27
или любопытство :)

Bogdan
23.07.2018
18:03:52
Я вредный

Quantum Harmonizer
23.07.2018
18:04:27

Bogdan
23.07.2018
18:04:44

Quantum Harmonizer
23.07.2018
18:05:25
Т по умолчанию Any?
Если пропертя неспособна обработать null, компилятор не позволит передать её

Beholder
23.07.2018
18:06:01

Bogdan
23.07.2018
18:06:05
или любопытство :)
Потом появляется спринг, хороший фрейморк, но костылей и магии, в рантайме падать неперепадать

Google

Quantum Harmonizer
23.07.2018
18:06:23

Bogdan
23.07.2018
18:06:50

Artem
23.07.2018
18:07:09

Kirill
23.07.2018
18:07:09
Все за тебя делает

Quantum Harmonizer
23.07.2018
18:07:15
Начальной простотой
очень тяжело по первости гуглить его невнятные сообщения об ошибках со стеком в сто методов

Bogdan
23.07.2018
18:08:06

Kirill
23.07.2018
18:08:40
А сейчас на чём?

Quantum Harmonizer
23.07.2018
18:09:54

Bogdan
23.07.2018
18:20:46

Kirill
23.07.2018
18:24:12
Json вручную парсить тоже не сложно

Quantum Harmonizer
23.07.2018
18:30:14

Kirill
23.07.2018
18:31:29
В общем почему бы не автоматизировать то что можно автоматизировать)

Hakob
23.07.2018
21:24:56
какой json сериалайзер быстрее?

whalemare
24.07.2018
01:51:38
Бери удобный и популярный, чтобы не было проблем. Если Хочешь скорости то тебе надо смотреть не в сторону жсона.

Mikhail
24.07.2018
07:06:25

Kirill
24.07.2018
07:16:37
Зачем передавать отдельно геттер и сеттер?
Можно ж просто пропертю передать

Google

Andrew
24.07.2018
07:23:35
Это был пример решения задачи совсем без рефлексии, коей является использование KProperty. Варианты с ней были приведены вчера :)

Mikhail
24.07.2018
07:24:14
^?

Kirill
24.07.2018
07:24:50
Я кстати не уверен что KProperty идёт через рефлексию

Quantum Harmonizer
24.07.2018
07:25:13

Vladimir
24.07.2018
07:27:10

Andrew
24.07.2018
07:27:18

Kirill
24.07.2018
07:27:50

Egor
24.07.2018
07:28:04

Mikhail
24.07.2018
07:28:28

Kirill
24.07.2018
07:43:11

Quantum Harmonizer
24.07.2018
07:47:16

Quantum Harmonizer
24.07.2018
07:47:42

Andrew
24.07.2018
07:48:27

Quantum Harmonizer
24.07.2018
07:48:45

Andrew
24.07.2018
08:00:59
effectively одно и то же
Заглянул в байт-код, согласен. По классу на каждый референс, конечно (но с лямбдами та же картина должна быть), из рефлективного там только getOwner() — getName() и getSignature() константы возвращают, get и set вполне себе в C.getX() и C.setX(...) ходят обычным INVOKEVIRTUAL.

Konstantine
24.07.2018
08:39:56
Это нормально, что jvmstatic переменая в companion в java получается через геттер?

Admin
ERROR: S client not available

Quantum Harmonizer
24.07.2018
08:43:31

Konstantine
24.07.2018
08:44:08

Google

Quantum Harmonizer
24.07.2018
08:44:31

Konstantine
24.07.2018
08:45:04

Roman
24.07.2018
09:44:20
if (e.cause !is java.net.UnknownHostException ||
e.cause !is java.net.SocketException ||
e.cause !is java.net.ConnectException
)
есть ли какой-нибудь другой способ это выразить ?
что-то вроде e.cause !is (firstException, secondException, ...)

Vladimir
24.07.2018
09:50:04

Leonid
24.07.2018
09:54:38
Через when можно

Roman
24.07.2018
09:55:03

Bogdan
24.07.2018
09:57:54

Andrey
24.07.2018
10:09:06

Roman
24.07.2018
10:14:03

Роман
24.07.2018
10:20:43

Vladimir
24.07.2018
10:23:53

Konstantine
24.07.2018
10:24:24
Если у меня метод со значениями по умолчанию - он не будет кучкой переопределенных методов в java?
И можно ли такого добиться вообще?
Чтобы в java не вызывать a.method(null, null, null, null)

Vladimir
24.07.2018
10:26:28

Konstantine
24.07.2018
10:26:36
Странно, что оно по умолчанию не делает так.

Vladimir
24.07.2018
10:27:34

Bogdan
24.07.2018
10:27:45

Google

Bogdan
24.07.2018
10:28:12

Andrey
24.07.2018
10:48:37
За счёт sealed классов это не так
Ок, для Kotlin ещё в sealed классах может быть применимо, хотя подобные проверки и в sealed классах обычно можно свести к полиморфизму
а что если код не твой, а чекнуть надо?
Ну я и не сказал, что это прям не надо делать. Вопрос в том, для чего данная проверка понадобилась.
Просто мне ни разу не приходилось решать задачу, при которой cause приходилось проверять именно так. Обычно возникает необходимость скорее таких ветвлений:
when (e.cause) {
is UnknownHostException -> {...}
is SocketException -> {...}
is ConnectException -> {...}
else -> {...}
}

Роман
24.07.2018
10:53:29
это плохое ветвление? Если да то как решить траблу?