Mainly for internal use within the framework; consider * Jakarta's Commons Lang * for a more comprehensive suite of * {@link org.apache.commons.lang.StringUtils String utilities}. * *
This class delivers some simple functionality that should really
* be provided by the core Java String
and {@link StringBuffer}
* classes, such as the ability to {@link #replace} all occurrences of a given
* substring in a target string. It also provides easy-to-use methods to
* convert between delimited strings, such as CSV strings, and collections and
* arrays.
*
* @author Rod Johnson
* @author Juergen Hoeller
* @author Keith Donald
* @author Rob Harrop
* @author Rick Evans
* @author Jacky.Song
* @since 16 April 2001
*/
abstract class StringUtils {
/**
* Capitalize a String
, changing the first letter to
* upper case as per {@link Character#toUpperCase(char)}.
* No other letters are changed.
* @param str the String to capitalize, may be null
* @return the capitalized String, null
if null
*/
public static String capitalize(String str) {
return changeFirstCharacterCase(str, true);
}
/**
* Uncapitalize a String
, changing the first letter to
* lower case as per {@link Character#toLowerCase(char)}.
* No other letters are changed.
* @param str the String to uncapitalize, may be null
* @return the uncapitalized String, null
if null
*/
public static String uncapitalize(String str) {
return changeFirstCharacterCase(str, false);
}
private static String changeFirstCharacterCase(String str, boolean capitalize) {
if (str == null || str.length() == 0) {
return str;
}
StringBuffer buf = new StringBuffer(str.length());
if (capitalize) {
buf.append(Character.toUpperCase(str.charAt(0)));
}
else {
buf.append(Character.toLowerCase(str.charAt(0)));
}
buf.append(str.substring(1));
return buf.toString();
}
}