如何将字符串数组的可选值转换为字符串的可选值?

问题描述 投票:0回答:1

我很难找到一种优雅的方法来将

Optional<String[]>
类型的变量转换为
Optional<String>
并连接给定数组的所有元素。

有一个优雅的解决方案吗?

Optional<String[]> given = Optional.ofNullable(new String[]{"a", "b"});

Optional<String> joinedString = ....;

Assertions.assertThat(joinedString.get()).isEqualTo("ab");
java stream optional-chaining
1个回答
0
投票

在我看来就像一个简单的

map
操作与
String.join()

Optional<String[]> given = Optional.ofNullable(new String[]{"a", "b"});
var joinedString = given.map(s -> String.join("", s));
System.out.println(joinedString.get()); // prints "ab"
© www.soinside.com 2019 - 2024. All rights reserved.