Is it that fun to shit on Java with cherrypicked worst-case and unfair examples?
You could use any libraries StringUtils.hasText (any serious app has one) to avoid the Predicate.not and do static imports (StringUtils, Collectors) to avoid explicitedly naming the classes containg those static methods...
Also your example misses the string collection creation part.
Ultimately we should get, put on one line like your code:
words.stream().filter(hasText).collect(counting());