You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2020/09/06 10:52:39 UTC

svn commit: r1881509 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java

Author: lehmi
Date: Sun Sep  6 10:52:39 2020
New Revision: 1881509

URL: http://svn.apache.org/viewvc?rev=1881509&view=rev
Log:
PDFBOX-4954: handle null values

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java?rev=1881509&r1=1881508&r2=1881509&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java Sun Sep  6 10:52:39 2020
@@ -615,10 +615,7 @@ public class COSArray extends COSBase im
     public List<? extends COSBase> toList()
     {
         List<COSBase> retList = new ArrayList<>(size());
-        for (int i = 0; i < size(); i++)
-        {
-            retList.add(get(i));
-        }
+        objects.forEach(retList::add);
         return retList;
     }
 
@@ -656,16 +653,15 @@ public class COSArray extends COSBase im
         List<Float> numbers = new ArrayList<>();
         for (int i = 0; i < size(); i++)
         {
-            COSNumber num;
-            if (get(i) instanceof COSObject)
+            COSBase num = getObject(i);
+            if (num instanceof COSNumber)
             {
-                num = (COSNumber) ((COSObject) get(i)).getObject();
+                numbers.add(((COSNumber) num).floatValue());
             }
             else
             {
-                num = (COSNumber) get(i);
+                numbers.add(null);
             }
-            numbers.add(num.floatValue());
         }
         return numbers;
     }
@@ -680,16 +676,15 @@ public class COSArray extends COSBase im
         List<Integer> numbers = new ArrayList<>();
         for (int i = 0; i < size(); i++)
         {
-            COSNumber num;
-            if (get(i) instanceof COSObject)
+            COSBase num = getObject(i);
+            if (num instanceof COSNumber)
             {
-                num = (COSNumber) ((COSObject) get(i)).getObject();
+                numbers.add(((COSNumber) num).intValue());
             }
             else
             {
-                num = (COSNumber) get(i);
+                numbers.add(null);
             }
-            numbers.add(num.intValue());
         }
         return numbers;
     }