
在Java 9中,stream()方法已添加到Optional 类中,以改进其功能。 stream()方法可用于将Optional元素的Stream转换为具有存在值元素的Stream。如果Optional 包含一个值,则返回包含该值的Stream。否则,它返回一个空 stream。
采用HttpClient向服务器端action请求数据,当然调用服务器端方法获取数据并不止这一种。WebService也可以为我们提供所需数据,那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起。 实现Android与服务器端数据交互,我们在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,
语法
public Streamstream()
示例
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StreamMethodTest {
public static void main(String[] args) {
List> list = Arrays.asList(
Optional.empty(),
Optional.of("TutorialsPoint"),
Optional.empty(),
Optional.of("Tutorix"));
// If optional is non-empty, get the value in stream, otherwise return empty
List filteredListJava8 = list.stream()
.flatMap(o -> o.isPresent() ? Stream.of(o.get()) : Stream.empty())
.collect(Collectors.toList());
// Optional::stream method can return a stream of either one or zero element if data is present or not.
List filteredListJava9 = list.stream()
.flatMap(Optional::stream)
.collect(Collectors.toList());
System.out.println(filteredListJava8);
System.out.println(filteredListJava9);
}
}输出
[TutorialsPoint, Tutorix] [TutorialsPoint, Tutorix]










