Java Stream How to - Filter Empty String value








Question

We would like to know how to filter Empty String value.

Answer

//w ww  .  j  av a  2 s. c om
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("Chris", "HTML", "XML", "CSS","");

        Stream<String> s = names.stream();


        Predicate<String> isEmpty = String::isEmpty;
        Predicate<String> notEmpty = isEmpty.negate();
        
        System.out.println(s.filter(notEmpty).collect(Collectors.toList()));
    }
}

The code above generates the following result.