Size: a a a

2020 November 12

C

Cargeh in pro.jvm
Дмитрий Карманов
Будет варнинг) но, конечно может
так сделайте в пакете NonNull по дефолту, а где налл - делайте @Nullable, тоже будут варнинги
источник

C

Cargeh in pro.jvm
Если все, что нужно от Optional, это код типа
Optional<T> o = ..
if (o.isPresent()) {
   T t = o.get();
   ...
}
или действительно optional.orElse(null)

то какой вообще смысл от него? Только лишние телодвижения производить
источник

ДК

Дмитрий Карманов... in pro.jvm
Cargeh
так сделайте в пакете NonNull по дефолту, а где налл - делайте @Nullable, тоже будут варнинги
да я так прост влез, у меня нет таких проблем)
источник

IZ

Ivan Zemlyankiy in pro.jvm
Cargeh
Если все, что нужно от Optional, это код типа
Optional<T> o = ..
if (o.isPresent()) {
   T t = o.get();
   ...
}
или действительно optional.orElse(null)

то какой вообще смысл от него? Только лишние телодвижения производить
обязать проверить на нулл, нет?
источник

IZ

Ivan Zemlyankiy in pro.jvm
я всегда думал там смысл обязать пользователя проверить и оповестить что, такая засада, тут может быть нулл
источник

IZ

Ivan Zemlyankiy in pro.jvm
и компилятор не даст просто использовать значение
источник

D

Dima in pro.jvm
Ivan Zemlyankiy
Кстати, там был тред про опшнлы и get orElse(null) зло, расскажите почему опшнл просят не использовать как поле?
потому что с сериализацией проблемы, потому что может быть null
источник

C

Cargeh in pro.jvm
Ivan Zemlyankiy
и компилятор не даст просто использовать значение
компилятор с optional вроде никак не связан, либо я чего-то не знаю
источник

C

Cargeh in pro.jvm
Ivan Zemlyankiy
я всегда думал там смысл обязать пользователя проверить и оповестить что, такая засада, тут может быть нулл
https://stackoverflow.com/a/26328555

> Our intention was to provide a limited mechanism for library method return types where there needed to be a clear way to represent "no result", and using null for such was overwhelmingly likely to cause errors

Brian Goetz
источник

J

James Tiberius Kirk in pro.jvm
а какая есть вменяемая либа для openid?
источник

J

James Tiberius Kirk in pro.jvm
легковесная с невсратой документацией
источник

J

James Tiberius Kirk in pro.jvm
в гугле все либо депрекейтед либо что-то тяжелое
источник

IZ

Ivan Zemlyankiy in pro.jvm
Cargeh
компилятор с optional вроде никак не связан, либо я чего-то не знаю
ну я про то что нельзя просто написать nullable.doSomething(); компилятор скажет нельзя так, там опшнл
"не спешииии подуууумай"
источник

IZ

Ivan Zemlyankiy in pro.jvm
Cargeh
https://stackoverflow.com/a/26328555

> Our intention was to provide a limited mechanism for library method return types where there needed to be a clear way to represent "no result", and using null for such was overwhelmingly likely to cause errors

Brian Goetz
да я вот тоже читал это, но как-то это что-то блин....
ну и тогда не надо говорить что orElse(null) - это антипаттерн
источник

IZ

Ivan Zemlyankiy in pro.jvm
ибо а какие варианты?
источник

VP

Vladimir Petrakovich in pro.jvm
Ivan Zemlyankiy
ибо а какие варианты?
ifPresent, map, filter и вот эта вся компания
Исходное обсуждение не читал, там кажется кто-то ведёт священную войну против null в котлине
источник

IZ

Ivan Zemlyankiy in pro.jvm
Vladimir Petrakovich
ifPresent, map, filter и вот эта вся компания
Исходное обсуждение не читал, там кажется кто-то ведёт священную войну против null в котлине
омг, ну это всё здорово, а если сохранить нужно результат обработки?
источник

IZ

Ivan Zemlyankiy in pro.jvm
пришёл опшнл, вот ты его прям весь такой облепил мапами фильтрами и т.п. и дальше нужно сохранить результат
источник

VP

Vladimir Petrakovich in pro.jvm
Ivan Zemlyankiy
омг, ну это всё здорово, а если сохранить нужно результат обработки?
Ну в приватном поле, я думаю, можно смело null сохранить
источник

IZ

Ivan Zemlyankiy in pro.jvm
Vladimir Petrakovich
Ну в приватном поле, я думаю, можно смело null сохранить
а это значит чтоооооо????
что где-то будет orElse(null)
источник