Author: tilman
Date: Mon Dec  4 07:21:30 2023
New Revision: 1914311

URL: http://svn.apache.org/viewvc?rev=1914311&view=rev
Log:
PDFBOX-5724: fix equals() and hashCode(), by Axel Howind

Modified:
    
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cff/CharStringCommand.java

Modified: 
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cff/CharStringCommand.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cff/CharStringCommand.java?rev=1914311&r1=1914310&r2=1914311&view=diff
==============================================================================
--- 
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cff/CharStringCommand.java
 (original)
+++ 
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cff/CharStringCommand.java
 Mon Dec  4 07:21:30 2023
@@ -19,6 +19,7 @@ package org.apache.fontbox.cff;
 import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * This class represents a CharStringCommand.
@@ -252,15 +253,7 @@ public class CharStringCommand
     @Override
     public int hashCode()
     {
-        if (type1KeyWord != null)
-        {
-            return type1KeyWord.key.hashCode();
-        }
-        if (type2KeyWord != null)
-        {
-            return type2KeyWord.key.hashCode();
-        }
-        return 0;
+        return Objects.hash(type1KeyWord, type2KeyWord);
     }
 
     /**
@@ -269,23 +262,13 @@ public class CharStringCommand
     @Override
     public boolean equals(Object object)
     {
-        if (object instanceof CharStringCommand)
+        if (object == null || object.getClass() != this.getClass())
         {
-            CharStringCommand that = (CharStringCommand) object;
-            if (type1KeyWord != null && type1KeyWord == that.getType1KeyWord())
-            {
-                return true;
-            }
-            if (type2KeyWord != null && type2KeyWord == that.getType2KeyWord())
-            {
-                return true;
-            }
-            if (type1KeyWord == null && type2KeyWord == null)
-            {
-                return true;
-            }
+            return false;
         }
-        return false;
+
+        CharStringCommand that = (CharStringCommand) object;
+        return that.type1KeyWord == type1KeyWord && that.type2KeyWord == 
type2KeyWord;
     }
 
     /**


Reply via email to