# HG changeset patch # User redestad # Date 1453460707 -3600 # Fri Jan 22 12:05:07 2016 +0100 # Node ID 00c896c6052c79068f5ad883c2042fd33f8176df # Parent e00d22e96e6e99443489bf3e1394718f8e8af9a4 8148044: Remove Enum[0] constants from EnumSet and EnumMap Reviewed-by: TBD 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 @@ -25,7 +25,6 @@ package java.util; -import java.util.Map.Entry; import jdk.internal.misc.SharedSecrets; /** @@ -125,8 +124,6 @@ return (V)(value == NULL ? null : value); } - private static final Enum[] ZERO_LENGTH_ENUM_ARRAY = new Enum[0]; - /** * Creates an empty enum map with the specified key type. * diff --git a/src/java.base/share/classes/java/util/EnumSet.java b/src/java.base/share/classes/java/util/EnumSet.java --- a/src/java.base/share/classes/java/util/EnumSet.java +++ b/src/java.base/share/classes/java/util/EnumSet.java @@ -92,8 +92,6 @@ */ final Enum[] universe; - private static Enum[] ZERO_LENGTH_ENUM_ARRAY = new Enum[0]; - EnumSet(ClasselementType, Enum[] universe) { this.elementType = elementType; this.universe = universe; @@ -437,7 +435,7 @@ SerializationProxy(EnumSet set) { elementType = set.elementType; - elements = set.toArray(ZERO_LENGTH_ENUM_ARRAY); + elements = set.toArray(new Enum[0]); } // instead of cast to E, we should perhaps use elementType.cast() @@ -457,6 +455,8 @@ return new SerializationProxy<>(this); } + private static final long serialVersionUID = 1009687484059888093L; + // readObject method for the serialization proxy pattern // See Effective Java, Second Ed., Item 78. private void readObject(java.io.ObjectInputStream stream) diff --git a/test/java/util/EnumMap/EnumMapBash.java b/test/java/util/EnumMap/EnumMapBash.java --- a/test/java/util/EnumMap/EnumMapBash.java +++ b/test/java/util/EnumMap/EnumMapBash.java @@ -48,8 +48,6 @@ bash(Silly500.class); } - private static Enum[] ZERO_LENGTH_ENUM_ARRAY = new Enum[0]; - static > void bash(Class enumClass) { Enum[] universe = enumClass.getEnumConstants();