You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sc...@apache.org on 2003/10/21 22:24:22 UTC
cvs commit: jakarta-commons/lang/src/java/org/apache/commons/lang StringUtils.java
scolebourne 2003/10/21 13:24:22
Modified: lang/src/java/org/apache/commons/lang StringUtils.java
Log:
Tweak deleteWhitespace to avoid creating a new String if possible
Revision Changes Path
1.110 +10 -6 jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java
Index: StringUtils.java
===================================================================
RCS file: /home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -r1.109 -r1.110
--- StringUtils.java 7 Sep 2003 14:32:34 -0000 1.109
+++ StringUtils.java 21 Oct 2003 20:24:22 -0000 1.110
@@ -2439,17 +2439,21 @@
* @return the String without whitespaces, <code>null</code> if null String input
*/
public static String deleteWhitespace(String str) {
- if (str == null) {
- return null;
+ if (str == null || str.length() == 0) {
+ return str;
}
int sz = str.length();
- StringBuffer buffer = new StringBuffer(sz);
+ char[] chs = new char[sz];
+ int count = 0;
for (int i = 0; i < sz; i++) {
if (!Character.isWhitespace(str.charAt(i))) {
- buffer.append(str.charAt(i));
+ chs[count++] = str.charAt(i);
}
}
- return buffer.toString();
+ if (count == sz) {
+ return str;
+ }
+ return new String(chs, 0, count);
}
// Replacing
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org