Mega Code Archive

 
Categories / Java / Data Type
 

Capitalize and uncapitalize

/*  * Copyright 2002-2007 the original author or authors.  *  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License at  *  *      http://www.apache.org/licenses/LICENSE-2.0  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ //package jacky.lanlan.song.extension.struts.util; /**  * Miscellaneous {@link String} utility methods.  *  * <p>Mainly for internal use within the framework; consider  * <a href="http://jakarta.apache.org/commons/lang/">Jakarta's Commons Lang</a>  * for a more comprehensive suite of  * {@link org.apache.commons.lang.StringUtils String utilities}.  *  * <p>This class delivers some simple functionality that should really  * be provided by the core Java <code>String</code> 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 <code>String</code>, 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 <code>null</code>    * @return the capitalized String, <code>null</code> if null    */   public static String capitalize(String str) {     return changeFirstCharacterCase(str, true);   }   /**    * Uncapitalize a <code>String</code>, 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 <code>null</code>    * @return the uncapitalized String, <code>null</code> 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();   } }