Improve performance (by ~10% on Sun Java 1.3.1_08) for the method escapeEntities(String str, Entities entities) by using the existing StringBuffer instead of String + to the same buffer.

git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk@137322 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Gary D. Gregory 2003-05-18 00:10:38 +00:00
parent 713af7b691
commit cc411622e9
1 changed files with 10 additions and 4 deletions

View File

@ -74,7 +74,7 @@
* @author <a href="sean@boohai.com">Sean Brown</a> * @author <a href="sean@boohai.com">Sean Brown</a>
* @author <a href="mailto:ggregory@seagullsw.com">Gary Gregory</a> * @author <a href="mailto:ggregory@seagullsw.com">Gary Gregory</a>
* @since 2.0 * @since 2.0
* @version $Id: StringEscapeUtils.java,v 1.10 2003/05/16 19:00:07 ggregory Exp $ * @version $Id: StringEscapeUtils.java,v 1.11 2003/05/18 00:10:38 ggregory Exp $
*/ */
public class StringEscapeUtils { public class StringEscapeUtils {
@ -477,12 +477,16 @@ private static String escapeEntities(String str, Entities entities) {
if (entity == null) { if (entity == null) {
if (((int) ch) > 0x7F) { if (((int) ch) > 0x7F) {
int intValue = ((int) ch); int intValue = ((int) ch);
buf.append("&#" + intValue + ";"); buf.append("&#");
buf.append(intValue);
buf.append(';');
} else { } else {
buf.append(ch); buf.append(ch);
} }
} else { } else {
buf.append("&" + entity + ";"); buf.append('&');
buf.append(entity);
buf.append(';');
} }
} }
return buf.toString(); return buf.toString();
@ -507,7 +511,9 @@ private static String unescapeEntities(String str, Entities entities) {
iso = entities.entityValue(entity); iso = entities.entityValue(entity);
} }
if (iso == null) { if (iso == null) {
buf.append("&" + entity + ";"); buf.append('&');
buf.append(entity);
buf.append(';');
} else { } else {
buf.append((char) (iso.intValue())); buf.append((char) (iso.intValue()));
} }