RFR: 8023339 : (xs) Rename Collection.removeIf(Predicate) to removeAll(Predicate)
Kevin Bourrillion
kevinb at google.com
Wed Sep 11 19:05:12 PDT 2013
FWIW, +1 to removeIf.
On Wed, Sep 11, 2013 at 5:39 PM, Stephen Colebourne <scolebourne at joda.org>wrote:
> FWIW, I find removeIf() clearer to rationalise about without further
> thought. This is especially true given how filter() on stream is very
> unclear to me.
>
> Stephen
>
>
> On 4 September 2013 22:08, Mike Duigou <mike.duigou at oracle.com> wrote:
> > Hello all;
> >
> > The naming of the Collection.removeIf(Predicate) method has always been
> an uncertain choice. We've gone back and forth between naming it removeIf
> and overloading the existing removeAll(Collection) with a
> removeAll(Predicate). Now that all other library and language decisions
> seem to be settled it seems reasonable to make a final decision on this
> method naming.
> >
> > This patch proposes to use the removeAll(Predicate) overload. This
> choice is made to increase the discoverability of the method and to "reuse"
> the existing user understanding of the removeAll name. There is a minor
> source incompatibility induced by overloading the removeAll name--if
> explicit null is passed then a compiler cannot resolve which overload to
> use. Since null is not a legal value for either overload this source
> incompatibility is expected to only affect tests which check to see what
> response implementations return for null. The ambiguity can be resolved by
> providing a cast to either the Collection or Predicate types to select the
> appropriate overload.
> >
> > http://cr.openjdk.java.net/~mduigou/JDK-8024291/0/webrev/
> >
> > Thanks,
> >
> > Mike
>
>
--
Kevin Bourrillion | Java Librarian | Google, Inc. | kevinb at google.com
More information about the lambda-dev
mailing list