From a776dc653d74f9bf66ef430fb2d81688a1c88481 Mon Sep 17 00:00:00 2001 From: Tilman Hausherr Date: Fri, 8 Dec 2023 16:11:27 +0000 Subject: [PATCH] PDFBOX-5660: simplify hashCode() and equals(), test name first because Map.equals() is expensive, by Axel Howind git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1914469 13f79535-47bb-0310-9956-ffa450edef68 --- .../ttf/model/MapBackedScriptFeature.java | 37 ++----------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/fontbox/src/main/java/org/apache/fontbox/ttf/model/MapBackedScriptFeature.java b/fontbox/src/main/java/org/apache/fontbox/ttf/model/MapBackedScriptFeature.java index ba2791c1426..417742d6747 100644 --- a/fontbox/src/main/java/org/apache/fontbox/ttf/model/MapBackedScriptFeature.java +++ b/fontbox/src/main/java/org/apache/fontbox/ttf/model/MapBackedScriptFeature.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; /** @@ -72,11 +73,7 @@ public Integer getReplacementForGlyphs(List glyphIds) @Override public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((featureMap == null) ? 0 : featureMap.hashCode()); - result = prime * result + ((name == null) ? 0 : name.hashCode()); - return result; + return Objects.hash(featureMap, name); } @Override @@ -86,37 +83,11 @@ public boolean equals(Object obj) { return true; } - if (obj == null) - { - return false; - } - if (getClass() != obj.getClass()) + if (obj == null || getClass() != obj.getClass()) { return false; } MapBackedScriptFeature other = (MapBackedScriptFeature) obj; - if (featureMap == null) - { - if (other.featureMap != null) - { - return false; - } - } - else if (!featureMap.equals(other.featureMap)) - { - return false; - } - if (name == null) - { - if (other.name != null) - { - return false; - } - } - else if (!name.equals(other.name)) - { - return false; - } - return true; + return Objects.equals(name, this.name) && Objects.equals(featureMap, this.featureMap); } }