基于使用Java 8的一些参数来过滤此列表。可是若是参数是null,则抛出NullPointerException。如何过滤掉空值ide
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