< prev index next >

src/java.base/share/classes/java/util/Collections.java

Print this page
8197893: Mistaken type check in CheckedEntrySet.toArray
Reviewed-by: psandoz

@@ -3769,13 +3769,13 @@
 
                 /*
                  * Ensure that we don't get an ArrayStoreException even if
                  * s.toArray returns an array of something other than Object
                  */
-                Object[] dest = (CheckedEntry.class.isInstance(
-                    source.getClass().getComponentType()) ? source :
-                                 new Object[source.length]);
+                Object[] dest = (source.getClass() == Object[].class)
+                    ? source
+                    : new Object[source.length];
 
                 for (int i = 0; i < source.length; i++)
                     dest[i] = checkedEntry((Map.Entry<K,V>)source[i],
                                            valueType);
                 return dest;
< prev index next >