Author: kinow
Date: Wed May 24 08:20:09 2017
New Revision: 1796010

URL: http://svn.apache.org/viewvc?rev=1796010&view=rev
Log:
COLLECTIONS-603: Small improvements for generics, conditional statements, and 
warnings suppressions

Thanks to Artem Konovalov

This closes #17


Modified:
    commons/proper/collections/trunk/src/changes/changes.xml
    
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java

Modified: commons/proper/collections/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/changes/changes.xml?rev=1796010&r1=1796009&r2=1796010&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/changes/changes.xml (original)
+++ commons/proper/collections/trunk/src/changes/changes.xml Wed May 24 
08:20:09 2017
@@ -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>

Modified: 
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java
URL: 
http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java?rev=1796010&r1=1796009&r2=1796010&view=diff
==============================================================================
--- 
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java
 (original)
+++ 
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java
 Wed May 24 08:20:09 2017
@@ -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());
         }


Reply via email to