COLLECTIONS-603: Small improvements for generics, conditional statements, and warnings suppressions
Thanks to Artem Konovalov This closes #17 git-svn-id: https://svn.apache.org/repos/asf/commons/proper/collections/trunk@1796010 13f79535-47bb-0310-9956-ffa450edef68 Project: http://git-wip-us.apache.org/repos/asf/commons-collections/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-collections/commit/9f0d5898 Tree: http://git-wip-us.apache.org/repos/asf/commons-collections/tree/9f0d5898 Diff: http://git-wip-us.apache.org/repos/asf/commons-collections/diff/9f0d5898 Branch: refs/heads/master Commit: 9f0d58985f4588981eefaca0408e767eff1bef73 Parents: a26fcf5 Author: Bruno P. Kinoshita <[email protected]> Authored: Wed May 24 08:20:09 2017 +0000 Committer: Bruno P. Kinoshita <[email protected]> Committed: Wed May 24 08:20:09 2017 +0000 ---------------------------------------------------------------------- src/changes/changes.xml | 3 +++ .../commons/collections4/CollectionUtils.java | 21 +++++++------------- 2 files changed, 10 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-collections/blob/9f0d5898/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 86e2ece..9b39615 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -21,6 +21,9 @@ </properties> <body> <release version="4.2" date="YYYY-MM-DD" description="New features"> + <action issue="COLLECTIONS-603" dev="kinow" type="fix" due-to="Artem Konovalov"> + Small improvements for generics, conditional statements, and warnings suppressions. + </action> <action issue="COLLECTIONS-594" dev="ggregory" type="fix" due-to="Javen O'Neal"> Web site spelling error: MultiValuedMapeList. </action> http://git-wip-us.apache.org/repos/asf/commons-collections/blob/9f0d5898/src/main/java/org/apache/commons/collections4/CollectionUtils.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/collections4/CollectionUtils.java b/src/main/java/org/apache/commons/collections4/CollectionUtils.java index 334f20d..5bab383 100644 --- a/src/main/java/org/apache/commons/collections4/CollectionUtils.java +++ b/src/main/java/org/apache/commons/collections4/CollectionUtils.java @@ -19,12 +19,12 @@ package org.apache.commons.collections4; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; -import java.util.LinkedList; import java.util.List; import java.util.ListIterator; import java.util.Map; @@ -180,8 +180,7 @@ public class CollectionUtils { * undesirable. This implementation only implements Collection. */ @SuppressWarnings("rawtypes") // we deliberately use the raw type here - public static final Collection EMPTY_COLLECTION = - UnmodifiableCollection.unmodifiableCollection(new ArrayList<Object>()); + public static final Collection EMPTY_COLLECTION = Collections.emptyList(); /** * <code>CollectionUtils</code> should not normally be instantiated. @@ -209,9 +208,8 @@ public class CollectionUtils { * @param collection the collection, possibly <code>null</code> * @return an empty collection if the argument is <code>null</code> */ - @SuppressWarnings("unchecked") // OK, empty collection is compatible with any type public static <T> Collection<T> emptyIfNull(final Collection<T> collection) { - return collection == null ? EMPTY_COLLECTION : collection; + return collection == null ? CollectionUtils.<T>emptyCollection() : collection; } /** @@ -389,9 +387,7 @@ public class CollectionUtils { } } - if (foundCurrentElement) { - continue; - } else { + if (!foundCurrentElement) { return false; } } @@ -830,7 +826,7 @@ public class CollectionUtils { */ @Deprecated public static <C> boolean exists(final Iterable<C> input, final Predicate<? super C> predicate) { - return predicate == null ? false : IterableUtils.matchesAny(input, predicate); + return predicate != null && IterableUtils.matchesAny(input, predicate); } /** @@ -850,7 +846,7 @@ public class CollectionUtils { */ @Deprecated public static <C> boolean matchesAll(final Iterable<C> input, final Predicate<? super C> predicate) { - return predicate == null ? false : IterableUtils.matchesAll(input, predicate); + return predicate != null && IterableUtils.matchesAll(input, predicate); } /** @@ -1266,9 +1262,6 @@ public class CollectionUtils { } else if (object instanceof Iterable<?>) { final Iterable<?> iterable = (Iterable<?>) object; return IterableUtils.get(iterable, i); - } else if (object instanceof Collection<?>) { - final Iterator<?> iterator = ((Collection<?>) object).iterator(); - return IteratorUtils.get(iterator, i); } else if (object instanceof Enumeration<?>) { final Enumeration<?> it = (Enumeration<?>) object; return EnumerationUtils.get(it, i); @@ -1631,7 +1624,7 @@ public class CollectionUtils { */ public static <E> Collection<List<E>> permutations(final Collection<E> collection) { final PermutationIterator<E> it = new PermutationIterator<E>(collection); - final Collection<List<E>> result = new LinkedList<List<E>>(); + final Collection<List<E>> result = new ArrayList<List<E>>(); while (it.hasNext()) { result.add(it.next()); }
