[COLLECTIONS-506] Added clarification to CollectionUtils wrt general contract of Object#equals and hashCode.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/collections/trunk@1554554 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Thomas Neidhart 2013-12-31 16:24:45 +00:00
parent 3a1d8e7db0
commit e1527d3cb9
2 changed files with 9 additions and 0 deletions

View File

@ -22,6 +22,11 @@
<body>
<release version="4.0.1" date="TBD" description="">
<action issue="COLLECTIONS-506" dev="tn" type="fix" due-to="Anthony Communier">
Added javadoc clarification to class "CollectionUtils" that input objects which
override "Object#equals(Object)" must also maintain the general contract of
"Object#hashCode()" as various utility methods take advantage of sets/maps/bags.
</action>
<action issue="COLLECTIONS-503" dev="tn" type="add" due-to="Josh Cain">
Added new transformer "IfTransformer" and factory methods "TransformerUtils#ifTransformer(...)"
which replace "TransformerUtils#switchTransformer(Predicate, Transformer, Transformer)".

View File

@ -43,6 +43,10 @@ import org.apache.commons.collections4.iterators.PermutationIterator;
/**
* Provides utility methods and decorators for {@link Collection} instances.
* <p>
* Various utility methods might put the input objects into a Set/Map/Bag. In case
* the input objects override {@link Object#equals(Object)}, it is mandatory that
* the general contract of the {@link Object#hashCode()} method is maintained.
* <p>
* NOTE: From 4.0, method parameters will take {@link Iterable} objects when possible.
*
* @since 1.0