Looks good.

It would be slightly more consistent with original author's style to write

if (em.size != size)

On Tue, Jul 28, 2015 at 9:14 AM, Steve Drach <steve.dr...@oracle.com> wrote:

> Please review the following simple fix for the issue reported in
> https://bugs.openjdk.java.net/browse/JDK-8062849 <
> https://bugs.openjdk.java.net/browse/JDK-8062849>.
>
> -----------------
> # HG changeset patch
> # User sdrach
> # Date 1437777193 25200
> #      Fri Jul 24 15:33:13 2015 -0700
> # Node ID e57b1569a65ec4dc8c749dedd3345abe5d493054
> # Parent  4dd09cb5f7c2a2a23a9958ea7a602dd74d5709b2
> 8062849: Optimize EnumMap.equals
> Summary: In the equals method, if the two EnumMaps are a different size
> return false since they can't be equal.
> Reviewed-by: brent.christ...@oracle.com, paul.san...@oracle.com
> Contributed-by: steve.dr...@oracle.com
>
> diff --git a/src/java.base/share/classes/java/util/EnumMap.java
> b/src/java.base/share/classes/java/util/EnumMap.java
> --- a/src/java.base/share/classes/java/util/EnumMap.java
> +++ b/src/java.base/share/classes/java/util/EnumMap.java
> @@ -681,8 +681,11 @@
>      }
>
>      private boolean equals(EnumMap<?,?> em) {
> +        if (size != em.size)
> +            return false;
> +
>          if (em.keyType != keyType)
> -            return size == 0 && em.size == 0;
> +            return size == 0;
>
>          // Key types match, compare each value
>          for (int i = 0; i < keyUniverse.length; i++) {
>
>

Reply via email to