diff options
Diffstat (limited to 'client/src')
-rw-r--r-- | client/src/com/vaadin/client/Util.java | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/client/src/com/vaadin/client/Util.java b/client/src/com/vaadin/client/Util.java index 778f7c3861..99e6507d81 100644 --- a/client/src/com/vaadin/client/Util.java +++ b/client/src/com/vaadin/client/Util.java @@ -825,30 +825,29 @@ public class Util { * @return true if the collections contain the same elements in the same * order, false otherwise */ - public static boolean collectionsEquals(Collection collection1, - Collection collection2) { + public static boolean collectionsEquals(Collection<?> collection1, + Collection<?> collection2) { if (collection1 == null) { return collection2 == null; } if (collection2 == null) { return false; } - Iterator<Object> collection1Iterator = collection1.iterator(); - Iterator<Object> collection2Iterator = collection2.iterator(); + + if (collection1.size() != collection2.size()) { + return false; + } + + Iterator<?> collection1Iterator = collection1.iterator(); + Iterator<?> collection2Iterator = collection2.iterator(); while (collection1Iterator.hasNext()) { - if (!collection2Iterator.hasNext()) { - return false; - } Object collection1Object = collection1Iterator.next(); Object collection2Object = collection2Iterator.next(); if (collection1Object != collection2Object) { return false; } } - if (collection2Iterator.hasNext()) { - return false; - } return true; } |