From 2c7fff15e190c17c5a361e542d222d099b353122 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Tue, 31 Dec 2013 15:11:59 +0000 Subject: [PATCH] Don't unnecessarily convert from ArrayList to array, use the ArrayList directly instead, this speeds up BiffViewer and related unit tests git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1554534 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/poi/hssf/dev/BiffViewer.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/java/org/apache/poi/hssf/dev/BiffViewer.java b/src/java/org/apache/poi/hssf/dev/BiffViewer.java index 827ccab19f..19cdd02942 100644 --- a/src/java/org/apache/poi/hssf/dev/BiffViewer.java +++ b/src/java/org/apache/poi/hssf/dev/BiffViewer.java @@ -88,9 +88,8 @@ public final class BiffViewer { temp.add(record); if (dumpInterpretedRecords) { - String[] headers = recListener.getRecentHeaders(); - for (int i = 0; i < headers.length; i++) { - ps.println(headers[i]); + for (String header : recListener.getRecentHeaders()) { + ps.println(header); } ps.print(record.toString()); } @@ -436,7 +435,7 @@ public final class BiffViewer { private static final class BiffRecordListener implements IBiffRecordListener { private final Writer _hexDumpWriter; - private final List _headers; + private List _headers; private final boolean _zeroAlignEachRecord; private final boolean _noHeader; public BiffRecordListener(Writer hexDumpWriter, boolean zeroAlignEachRecord, boolean noHeader) { @@ -462,11 +461,10 @@ public final class BiffViewer { } } } - public String[] getRecentHeaders() { - String[] result = new String[_headers.size()]; - _headers.toArray(result); - _headers.clear(); - return result; + public List getRecentHeaders() { + List result = _headers; + _headers = new ArrayList(); + return result; } private static String formatRecordDetails(int globalOffset, int sid, int size, int recordCounter) { StringBuffer sb = new StringBuffer(64); -- 2.39.5