我有一个相当简单的问题给你们。在Java 8中,它引入了Optional
类型。我有Optional<String>
类型的两个对象,我想知道哪个是更加优雅的方式来连接它们。在Java 8中连接两个或两个以上的可选字符串
Optional<String> first = Optional.ofNullable(/* Some string */);
Optional<String> second = Optional.ofNullable(/* Some other string */);
Optional<String> result = /* Some fancy function that concats first and second */;
具体而言,如果两个原始Optional<String>
对象之一等于Optional.empty()
,我想整个级联是空的了。
请注意,我不问如何来连接两个Optional
S中的评价在Java中,但如何连接两个String
S中的一些Optional
内。
在此先感谢。
除非您有半群二进制运算符,flatmap是组合两个选项的最佳方式。就像在斯卡拉你可以做'first | + |第二个' – soote
不是,这是你在Java 8中可以做的最好的。 –
所以,你说我不能做得更好:(你能解释一下“半群”吗? –