On 6 May 2015 at 14:53, Paul Sandoz <paul.san...@oracle.com> wrote: >>> In some respects i wonder if the default methods on the functional >>> interfaces are an attractive nuisance. >> >> Meaning, if .negate(Predicate) were a static method on the Predicate class >> instead of a default method, then >> stream.filter(Predicate.negate(String::isEmpty)) would be possible? Yeah… >> > > Yeah. We are now in the unfortunate position where to alleviate this problem > we might require duplicate static and default methods. I have been sitting on > the issue a bit and nearly closed it a few times :-)
I like Remi's solution. It may not be ideal, but it is very practical and easy to explain on Stack Overflow. Duplicate static/default methods would be much worse. I also think that filterNot should be added to stream. Its just too common a case. Stephen