Size: a a a

2021 February 05

E

Evgeniy ♎️ in pro.jvm
Shamil Sabirov
почему? с ними надо уметь работать. а Optional не коррелирует со стримами. и кстате у Optional есть неприятная особенность - он не сериализуется.
А зачем его сериализовать?
источник

SS

Shamil Sabirov in pro.jvm
не зачем, конечно. надо сериализовать объект который в Optional.
источник

U

UsernameAK in pro.jvm
можно очень тупой вопрос задать?
    @LuaExport
   public final String name, id;

тут же к обеим полям аннотация применится?
источник

ch

central hardware in pro.jvm
UsernameAK
можно очень тупой вопрос задать?
    @LuaExport
   public final String name, id;

тут же к обеим полям аннотация применится?
можно очень тупой вопрос задать?

можно, но лучше @javastart

тут же к обеим полям аннотация применится?

да, что довольно легко гуглиться
источник

DB

Dmitry Baynak in pro.jvm
Igor A
Господа
возник холивор.
хочу понять как верно. не устарел ли я.

мне 2 IF нравятся (2) больше чем optional сахар (1) который в Java сделан убого. не то что в котлине

в первом случае зато нет проверок на null
во втором случае IF-ы

public List<Balance> loadV1() {
       Optional<String> jsonBodyOptional = executeWalletRequest();
       return jsonBodyOptional.map(jsonBody -> {
           BalanceResponse balanceResponse =
                   JsonUtils.toObj(jsonBody, BalanceResponse.class);
           List<Balance> result = Optional.ofNullable(balanceResponse.getAmounts())
                   .map(amounts -> amounts.stream()
                           .map(amount -> buildUnifiedBalanceRow(balanceResponse, amount))
                           .collect(Collectors.<Balance>toList()))
                   .orElse(Lists.newArrayList());
           return result;
       }).orElse(Lists.newArrayList());
}
если jdk9, то есть https://docs.oracle.com/javase/9/docs/api/java/util/Optional.html#stream-- и получается, например, вот так

public List<Balance> loadV1() {
   return executeWalletRequest().stream()
       .map(jsonBody -> JsonUtils.toObj(jsonBody, BalanceResponse.class))
       .flatMap(balanceResponse -> Optional.ofNullable(balanceResponse.getAmounts()).stream()
           .flatMap(Collection::stream)
           .map(amount -> buildUnifiedBalanceRow(balanceResponse, amount))
       )
       .collect(Collectors.<Balance>toList());
}
источник

IA

Igor A in pro.jvm
Да понятно
Холивор про то портит optional апи и пачкает или нет
По мне без него код чище
источник

Э

Эд in pro.jvm
Shamil Sabirov
не зачем, конечно. надо сериализовать объект который в Optional.
так опшинал в полях не рекомендуется изначально
источник

SS

Shamil Sabirov in pro.jvm
Эд
так опшинал в полях не рекомендуется изначально
и почему? не подскажете?) я о чем изначально писал то...
источник

Э

Эд in pro.jvm
Shamil Sabirov
и почему? не подскажете?) я о чем изначально писал то...
Если я правильно понял, то ты о проблеме сериализации инстанса какого-нибудь такого класса:
class A {
 Optional<Some> optionalSome;
}

?
источник

SS

Shamil Sabirov in pro.jvm
да, вот как раз яркий пример как не нужно делать
источник

SS

Shamil Sabirov in pro.jvm
попробуйте его кудато сериализовать - хмл или json. поймете о чем я
источник

SS

Shamil Sabirov in pro.jvm
источник

SS

Shamil Sabirov in pro.jvm
а именно "primary design goal for Optional is to be used as the return value of functions when a return value might be absent"
источник

V

Vladimir in pro.jvm
Shamil Sabirov
попробуйте его кудато сериализовать - хмл или json. поймете о чем я
ну, нормально сериализуется
источник

E

Evgeniy ♎️ in pro.jvm
UsernameAK
можно очень тупой вопрос задать?
    @LuaExport
   public final String name, id;

тут же к обеим полям аннотация применится?
если бы не нарушали java convention, не возникло бы вопроса
источник

U

UsernameAK in pro.jvm
Evgeniy ♎️
если бы не нарушали java convention, не возникло бы вопроса
а где нарушаю
источник

E

Evgeniy ♎️ in pro.jvm
UsernameAK
а где нарушаю
ну сонар ругается на такое объявление переменных
надо отдельно name, отдельнно id
источник
2021 February 06

RT

Roman Turchinsky in pro.jvm
источник

IP

Isaac Peterson in pro.jvm
can you guys help me :)
источник

A

Alexey in pro.jvm
Isaac Peterson
can you guys help me :)
sure
источник