On 04/09/2013 22:08, Mike Duigou 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/
This looks okay to me too.
-Alan.