在Java 8中,我们可以使用.map(Object::toString)
将Optional<String>
转换为String
。
String result = list.stream()
.filter(x -> x.length() == 1)
.findFirst() // returns Optional
.map(Object::toString)
.orElse("");
样品
一种获取值的标准Optional
方式。
Java8Example1.java
package com.mkyong;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public class Java8Example1 {
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c", "d", "e");
Optional<String> result = list.stream()
.filter(x -> x.length() == 1)
.findFirst();
if (result.isPresent()) {
System.out.println(result.get()); // a
}
}
}
输出量
a
试试map(Object::toString)
Java8Example2.java
package com.mkyong;
import java.util.Arrays;
import java.util.List;
public class Java8Example2 {
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c", "d", "e");
String s = list.stream().filter(x -> x.length() == 1)
.findFirst()
.map(Object::toString)
.orElse(null);
System.out.println(s); // a
}
}
输出量
a
参考文献
翻译自: https://mkyong.com/java8/java-8-convert-optionalstring-to-string/