< prev index next >
src/java.desktop/share/classes/java/awt/image/ColorModel.java
Print this page
@@ -29,11 +29,11 @@
import java.awt.color.ColorSpace;
import java.awt.color.ICC_ColorSpace;
import sun.java2d.cmm.CMSManager;
import sun.java2d.cmm.ColorTransform;
import sun.java2d.cmm.PCMM;
-import java.awt.Toolkit;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.WeakHashMap;
/**
@@ -1447,12 +1447,13 @@
* @param obj the {@code Object} to test for equality
* @return {@code true} if the specified {@code Object}
* is an instance of {@code ColorModel} and equals this
* {@code ColorModel}; {@code false} otherwise.
*/
+ @Override
public boolean equals(Object obj) {
- if (!(obj instanceof ColorModel)) {
+ if ((obj == null) || (obj.getClass() != getClass())) {
return false;
}
ColorModel cm = (ColorModel) obj;
if (this == cm) {
@@ -1485,27 +1486,20 @@
/**
* Returns the hash code for this ColorModel.
*
* @return a hash code for this ColorModel.
*/
+ @Override
public int hashCode() {
-
- int result = 0;
-
- result = (supportsAlpha ? 2 : 3) +
- (isAlphaPremultiplied ? 4 : 5) +
- pixel_bits * 6 +
- transparency * 7 +
- numComponents * 8;
-
- if (nBits != null) {
- for (int i = 0; i < numComponents; i++) {
- result = result + nBits[i] * (i + 9);
- }
- }
-
- return result;
+ int hash = 7;
+ hash = 89 * hash + this.pixel_bits;
+ hash = 89 * hash + Arrays.hashCode(this.nBits);
+ hash = 89 * hash + this.transparency;
+ hash = 89 * hash + (this.supportsAlpha ? 1 : 0);
+ hash = 89 * hash + (this.isAlphaPremultiplied ? 1 : 0);
+ hash = 89 * hash + this.numComponents;
+ return hash;
}
/**
* Returns the {@code ColorSpace} associated with this
* {@code ColorModel}.
< prev index next >