In Java 8 I have some number of String values and I want to end up with a comma delimited list of valid values. If a String is null or empty I want to ignore it. I know this seems common and is a lot like this old question; however, that discussion does not address nulls AND spaces (I also don't like the accepted answer).
I've looked at Java 8 StringJoiner, commons StringUtils (join) and trusty guava (Joiner) but none seems like a full solution. The vision:
where: val1="a", val2=null, val3="", val4="b"
String niceString = StringJoiner.use(",").ignoreBlanks().ignoreNulls()
String joined = Stream.of(val1, val2, val3, val4) .filter(s -> s != null && !s.isEmpty()) .collect(joining(","));