From: Dominik Stadler Date: Tue, 31 Dec 2013 15:11:59 +0000 (+0000) Subject: Don't unnecessarily convert from ArrayList to array, use the ArrayList directly inste... X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=dcc34ec84591af27b2822fe6f4e4ed2346398ca1;p=poi.git 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 --- 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);