Author: ggregory
Date: Tue Aug 2 18:04:51 2011
New Revision: 1153229
URL: http://svn.apache.org/viewvc?rev=1153229&view=rev
Log:
[LANG-734] The CHAR_ARRAY cache in CharUtils duplicates the cache in
java.lang.Character.
[LANG-735] Deprecate CharUtils.toCharacterObject(char) in favor of
java.lang.Character.valueOf(char).
Modified:
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/CharUtils.java
commons/proper/lang/trunk/src/site/changes/changes.xml
Modified:
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/CharUtils.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/CharUtils.java?rev=1153229&r1=1153228&r2=1153229&view=diff
==============================================================================
---
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/CharUtils.java
(original)
+++
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/CharUtils.java
Tue Aug 2 18:04:51 2011
@@ -48,7 +48,6 @@ public class CharUtils {
"\u0078\u0079\u007a\u007b\u007c\u007d\u007e\u007f";
private static final String[] CHAR_STRING_ARRAY = new String[128];
- private static final Character[] CHAR_ARRAY = new Character[128];
/**
* {@code \u000a} linefeed LF ('\n').
@@ -72,7 +71,6 @@ public class CharUtils {
static {
for (int i = 127; i >= 0; i--) {
CHAR_STRING_ARRAY[i] = CHAR_STRING.substring(i, i + 1);
- CHAR_ARRAY[i] = new Character((char) i);
}
}
@@ -99,14 +97,13 @@ public class CharUtils {
* CharUtils.toCharacterObject('A') = 'A'
* </pre>
*
+ * @deprecated Java 5 introduced {@link Character#valueOf(char)} which
caches chars 0 through 127.
* @param ch the character to convert
* @return a Character of the specified character
*/
+ @Deprecated
public static Character toCharacterObject(char ch) {
- if (ch < CHAR_ARRAY.length) {
- return CHAR_ARRAY[ch];
- }
- return new Character(ch);
+ return Character.valueOf(ch);
}
/**
@@ -130,7 +127,7 @@ public class CharUtils {
if (StringUtils.isEmpty(str)) {
return null;
}
- return toCharacterObject(str.charAt(0));
+ return Character.valueOf(str.charAt(0));
}
//-----------------------------------------------------------------------
Modified: commons/proper/lang/trunk/src/site/changes/changes.xml
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/site/changes/changes.xml?rev=1153229&r1=1153228&r2=1153229&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/site/changes/changes.xml (original)
+++ commons/proper/lang/trunk/src/site/changes/changes.xml Tue Aug 2 18:04:51
2011
@@ -33,6 +33,8 @@
<action type="add" issue="LANG-723">Add mode and median Comparable...
methods to ObjectUtils</action>
<action type="add" issue="LANG-722">Add BooleanUtils.and + or varargs
methods</action>
<action type="add" issue="LANG-730">EnumSet -> bit vector</action>
+ <action type="fix" issue="LANG-734">The CHAR_ARRAY cache in CharUtils
duplicates the cache in java.lang.Character</action>
+ <action type="update" issue="LANG-735">Deprecate
CharUtils.toCharacterObject(char) in favor of
java.lang.Character.valueOf(char)</action>
</release>
<release version="3.0" date="2011-07-18" description="Backwards incompatible
update of Commons Lang to Java 5">