You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by dj...@apache.org on 2015/04/15 21:59:51 UTC
svn commit: r1673944 - in /commons/proper/lang/trunk/src:
changes/changes.xml main/java/org/apache/commons/lang3/StringUtils.java
Author: djones
Date: Wed Apr 15 19:59:50 2015
New Revision: 1673944
URL: http://svn.apache.org/r1673944
Log:
Updates for LANG-1058: StringUtils.uncapitalize performance improvement. Similar fix also applied to StringUtils.capitalize (as mentioned in issue). Thanks to Leo Wang.
Modified:
commons/proper/lang/trunk/src/changes/changes.xml
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java
Modified: commons/proper/lang/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/changes/changes.xml?rev=1673944&r1=1673943&r2=1673944&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/changes/changes.xml [utf-8] (original)
+++ commons/proper/lang/trunk/src/changes/changes.xml [utf-8] Wed Apr 15 19:59:50 2015
@@ -22,6 +22,7 @@
<body>
<release version="3.5" date="tba" description="tba">
+ <action issue="LANG-1058" type="update" dev="djones" due-to="Leo Wang">StringUtils.uncapitalize performance improvement</action>
<action issue="LANG-1069" type="update" dev="djones" due-to="Arno Noordover">CharSet.getInstance documentation does not clearly explain how to include negation character in set</action>
<action issue="LANG-1050" type="add" dev="djones" due-to="James Sawle">Change nullToEmpty methods to generics</action>
<action issue="LANG-1111" type="fix" dev="chas">Fix FindBugs warnings in DurationFormatUtils</action>
Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java?rev=1673944&r1=1673943&r2=1673944&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java (original)
+++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java Wed Apr 15 19:59:50 2015
@@ -5716,15 +5716,16 @@ public class StringUtils {
}
final char firstChar = str.charAt(0);
- if (Character.isTitleCase(firstChar)) {
+ final char newChar = Character.toUpperCase(firstChar);
+ if (firstChar == newChar) {
// already capitalized
return str;
}
- return new StringBuilder(strLen)
- .append(Character.toTitleCase(firstChar))
- .append(str.substring(1))
- .toString();
+ char[] newChars = new char[strLen];
+ newChars[0] = newChar;
+ str.getChars(1,strLen, newChars, 1);
+ return String.valueOf(newChars);
}
/**
@@ -5755,15 +5756,16 @@ public class StringUtils {
}
final char firstChar = str.charAt(0);
- if (Character.isLowerCase(firstChar)) {
+ final char newChar = Character.toLowerCase(firstChar);
+ if (firstChar == newChar) {
// already uncapitalized
return str;
}
- return new StringBuilder(strLen)
- .append(Character.toLowerCase(firstChar))
- .append(str.substring(1))
- .toString();
+ char[] newChars = new char[strLen];
+ newChars[0] = newChar;
+ str.getChars(1,strLen, newChars, 1);
+ return String.valueOf(newChars);
}
/**