您的位置:首页 > 编程语言 > Java开发

Java8中使用lambda不为null时才过滤值

2021-01-23 22:26 1741 查看

基于使用Java 8的一些参数来过滤此列表。但是如果参数是null,则抛出NullPointerException。如何过滤掉空值

List<String> carsFiltered = Optional.ofNullable(cars)
.orElseGet(Collections::emptyList)
.stream()
.filter(Objects::nonNull) //filtering car object that are null
.map(Car::getName) //now it's a stream of Strings
.filter(Objects::nonNull) //filtering null in Strings
.filter(name -> name.startsWith("M"))
.collect(Collectors.toList()); //back to List of Strings
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: