java8中的stream().filter()的使用和Optional()

时间:2023-12-25 18:18:25

转:

https://www.cnblogs.com/yimiyan/p/5992440.html

Optional:

https://www.cnblogs.com/zhangboyu/p/7580262.html

@RequestHeader的使用

//@RequestHeader:获取浏览器头信息:限制请求头中必须有User-Agent //

User-Agent:封装了浏览器的信息 //helloMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 @RequestMapping("show22") public String show22(@RequestHeader("User-Agent")String browser){ System.out.println("hello"+browser); return "/index.jsp"; }

在List<A>中,查找userName为hanmeimei的对象A。

在java8中,我们可以这么玩

1,查找集合中的第一个对象。

 Optional<A> firstA= AList.stream() .filter(a -> "hanmeimei".equals(a.getUserName())) .findFirst();
if (firstA.isPresent()) {
A a = firstA.get(); //这样子就取到了这个对象呢。
}
else {
//没有查到的逻辑
}

2,如果想返回集合呢。可是使用这个

 List<A> firstA= AList.stream() .filter(a -> "hanmeimei".equals(a.getUserName())) .collect(Collectors.toList());

3,抽取对象中所有的id的集合

1
List<Long> idList = AList.stream.map(A::getId).collect(Collectors.toList());