eL_*_*eL_ 4 java optional java-8 java-stream
我有一些带String和Long值的可选字段:
Optional<Long> id;
Optional<String> name;
Optional<String> lastname;
Optional<Long> number;
....
Run Code Online (Sandbox Code Playgroud)
我想返回包含所有值的List.如果例如可选的"名称"不存在,则应存储空字符串.方法的结果应该是List,其值为eq:"1","John","","5".
我做了流:
Stream fields = Stream.of(id, name, lastname, number);
Run Code Online (Sandbox Code Playgroud)
但我不知道接下来会发生什么.
问候.
您可以使用:
List<String> list = Stream.of(id, name, lastname, number)
.map(op -> op.map(o -> o.toString()).orElse(""))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
在流中的每个可选项中,您将String使用toString()from Objectclass 将其映射到它的版本,null并将它映射为空String.比,你会把它收集到列表中.
| 归档时间: |
|
| 查看次数: |
414 次 |
| 最近记录: |