
Митко Соловец?
16.05.2017
14:37:31
ща это все подотру до вопроса про дроид
Парни, есть тут Боги Опшионалов?
@angrymaz
ifPresent связку + get() юзать норма или нет? ваше мнение

Google

James Tiberius Kirk ?
16.05.2017
14:39:57

Митко Соловец?
16.05.2017
14:40:09
да

Daniil
16.05.2017
14:40:23
удваиваю. Правда а какой другой способ? Этот выглядит ущербным правда.

Митко Соловец?
16.05.2017
14:40:44
я жду ifPresentorElse
вроде в девятке он будет

Daniil
16.05.2017
14:40:55
для себя решил что там где можно вернуть null как невалидное значение я буду лучше на null проверять

Митко Соловец?
16.05.2017
14:40:58
но как сейчас вы делаете?

James Tiberius Kirk ?
16.05.2017
14:41:14

Andrey
16.05.2017
14:41:23

Daniil
16.05.2017
14:41:25
сложна(

Igor
16.05.2017
14:41:25

Luger
16.05.2017
14:41:33

Igor
16.05.2017
14:41:44
либо orElse с пробросом null и проверкой на него

Google

James Tiberius Kirk ?
16.05.2017
14:42:02

Daniil
16.05.2017
14:42:21
это чото не то

Митко Соловец?
16.05.2017
14:42:29

Daniil
16.05.2017
14:42:39
а если на optional завязана логика?
Эти же orelse не взлетят
типо
if (!opt.isPresent()) {
return;
}
Value v = opt.get();

Митко Соловец?
16.05.2017
14:44:11
в себя же?

James Tiberius Kirk ?
16.05.2017
14:44:42
пока что я это делаю путем Optional.of(1).map(element -> doShit(element)).orElseGet(() -> doAnotherShit())
Когда как, можешь и в себя

Митко Соловец?
16.05.2017
14:45:16
у тебя оф

James Tiberius Kirk ?
16.05.2017
14:45:18
Но я так ни разу не делал, слишком некрасиво

Daniil
16.05.2017
14:45:20
оО

Митко Соловец?
16.05.2017
14:45:28
а если у меня может быть нулевое значение?
и я хочу эксепшен пробросить
elseThrow

James Tiberius Kirk ?
16.05.2017
14:45:39
Ofnullable

Nick
16.05.2017
14:45:41

Митко Соловец?
16.05.2017
14:45:43
как красиво прикрутить?

Luger
16.05.2017
14:45:47

Daniil
16.05.2017
14:45:48

Google

Andrey
16.05.2017
14:46:09

Nick
16.05.2017
14:46:13
@dmsol Optional(field).map(_.toUpperCase).getOrElse("")

James Tiberius Kirk ?
16.05.2017
14:46:19
Цена лишь лишние вызовы

Митко Соловец?
16.05.2017
14:46:38
Optional.ofNullable(v).map(v -> v).orElseThrow(e -> new ..)
типо такого?

James Tiberius Kirk ?
16.05.2017
14:46:51

Nick
16.05.2017
14:46:54

James Tiberius Kirk ?
16.05.2017
14:46:59
Ну мапить не надо

Andrey
16.05.2017
14:47:01

Daniil
16.05.2017
14:47:05

Митко Соловец?
16.05.2017
14:47:07

Митко Соловец?
16.05.2017
14:47:14
но это типо маппинг в себя)

Nick
16.05.2017
14:47:16
v->v нафига вообще делать то

Andrey
16.05.2017
14:47:23

Nick
16.05.2017
14:47:30
orElseThrow(e -> new ..) сразу сделай и все

Andrey
16.05.2017
14:47:32

James Tiberius Kirk ?
16.05.2017
14:47:33

Nick
16.05.2017
14:47:39
но и orElseThrow(e -> new ..) не по поцански делать

James Tiberius Kirk ?
16.05.2017
14:47:55

Google

Admin
ERROR: S client not available

Митко Соловец?
16.05.2017
14:47:56
значит isPresent?

Nick
16.05.2017
14:47:56
я обычно делаю Option...fold()() )))

Митко Соловец?
16.05.2017
14:48:10

Nick
16.05.2017
14:48:17
сорян, нету да
но можно сделать

James Tiberius Kirk ?
16.05.2017
14:48:49
потому что бред
Типа кидать экшепщон если там нулл? Ну если логика того предусматривает то не вижу проблем

Nick
16.05.2017
14:49:11

Митко Соловец?
16.05.2017
14:50:06
вот
вижу у всех своё видение

Nick
16.05.2017
14:50:17
Option удобен когда у тебя есть цепочка преобразований вида Option.map.map.map.getOrElse(defaultValue)
а кидать из него exception какаят херня имхо

Митко Соловец?
16.05.2017
14:50:41
а у меня кейс простой, достаем из источника обхъект по айди, но его может и не быть, надо кинуть исключение, если нет

Nick
16.05.2017
14:51:14

James Tiberius Kirk ?
16.05.2017
14:51:20
Orelsetgrow

Nick
16.05.2017
14:51:38
required field не должен быть Optional)

Митко Соловец?
16.05.2017
14:51:39

James Tiberius Kirk ?
16.05.2017
14:51:46
Ну вдруг ему по контракту опшионпл прилетает

Митко Соловец?
16.05.2017
14:51:46
это понятно

Google

Nick
16.05.2017
14:51:47

James Tiberius Kirk ?
16.05.2017
14:52:04
Но я бы опшионпл использовал

Митко Соловец?
16.05.2017
14:52:07
я просто потом полученное значение по цепочке отдаю обработчику
но если оно нулевое, надо сделать прерывание

Nick
16.05.2017
15:07:59

Митко Соловец?
16.05.2017
15:08:33
тебе подсунули левое айди
твои действия?