svn commit: r1225439 - /xalan/java/trunk/src/org/apache/xalan/transformer/NumeratorFormatter.java

[email protected] Thu, 29 Dec 2011 05:22:32 -0000
Newsgroups gmane.text.xml.xalan.cvs
Message-ID <[email protected]>
Author: mrglavas
Date: Thu Dec 29 05:22:32 2011
New Revision: 1225439

URL: http://svn.apache.org/viewvc?rev=1225439&view=rev
Log:
Eliminate creation of temporary strings in a loop.

Modified:
    xalan/java/trunk/src/org/apache/xalan/transformer/NumeratorFormatter.java

Modified: xalan/java/trunk/src/org/apache/xalan/transformer/NumeratorFormatter.java
URL: http://svn.apache.org/viewvc/xalan/java/trunk/src/org/apache/xalan/transformer/NumeratorFormatter.java?rev=1225439&r1=1225438&r2=1225439&view=diff
==============================================================================
--- xalan/java/trunk/src/org/apache/xalan/transformer/NumeratorFormatter.java (original)
+++ xalan/java/trunk/src/org/apache/xalan/transformer/NumeratorFormatter.java Thu Dec 29 05:22:32 2011
@@ -187,16 +187,17 @@ class NumeratorFormatter
       return "#E(" + val + ")";
     }
 
-    String roman = "";
+    final String roman;
     int place = 0;
 
     if (val <= 3999L)
     {
+      StringBuffer romanBuffer = new StringBuffer();
       do
       {
         while (val >= m_romanConvertTable[place].m_postValue)
         {
-          roman += m_romanConvertTable[place].m_postLetter;
+          romanBuffer.append(m_romanConvertTable[place].m_postLetter);
           val -= m_romanConvertTable[place].m_postValue;
         }
 
@@ -204,7 +205,7 @@ class NumeratorFormatter
         {
           if (val >= m_romanConvertTable[place].m_preValue)
           {
-            roman += m_romanConvertTable[place].m_preLetter;
+            romanBuffer.append(m_romanConvertTable[place].m_preLetter);
             val -= m_romanConvertTable[place].m_preValue;
           }
         }
@@ -212,6 +213,7 @@ class NumeratorFormatter
         place++;
       }
       while (val > 0);
+      roman = romanBuffer.toString();
     }
     else
     {