Swaps the case of a String changing upper and title case to lower case, and lower case to upper case. : String vs Char Array « Data Type « Java Tutorial






/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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.
 */

public class Main {

  /**
   * Swaps the case of a String changing upper and title case to
   * lower case, and lower case to upper case.
   *
   * <ul>
   *  <li>Upper case character converts to Lower case</li>
   *  <li>Title case character converts to Lower case</li>
   *  <li>Lower case character converts to Upper case</li>
   * </ul>
   *
   * For a word based algorithm, see {@link WordUtils#swapCase(String)}.
   * A <code>null</code> input String returns <code>null</code>.
   *
   * <pre>
   * StringUtils.swapCase(null)                 = null
   * StringUtils.swapCase("")                   = ""
   * StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"
   * </pre>
   *
   * NOTE: This method changed in Lang version 2.0.
   * It no longer performs a word based algorithm.
   * If you only use ASCII, you will notice no change.
   * That functionality is available in WordUtils.
   *
   * @param str  the String to swap case, may be null
   * @return the changed String, <code>null</code> if null String input
   */
  public static String swapCase(String str) {
      int strLen;
      if (str == null || (strLen = str.length()) == 0) {
          return str;
      }
      StringBuffer buffer = new StringBuffer(strLen);

      char ch = 0;
      for (int i = 0; i < strLen; i++) {
          ch = str.charAt(i);
          if (Character.isUpperCase(ch)) {
              ch = Character.toLowerCase(ch);
          } else if (Character.isTitleCase(ch)) {
              ch = Character.toLowerCase(ch);
          } else if (Character.isLowerCase(ch)) {
              ch = Character.toUpperCase(ch);
          }
          buffer.append(ch);
      }
      return buffer.toString();
  }
}








2.28.String vs Char Array
2.28.1.Demonstrates the charAt and getChars
2.28.2.Converting Char array to String
2.28.3.Creating Character Arrays From String Objects
2.28.4.Copy characters from string into char Array
2.28.5.Creating String Objects From Character Arrays
2.28.6.new String(textArray, 9, 3): Creating String Objects From certain part of a character Array
2.28.7.Creating String Objects From Character Arrays using String.copyValueOf()
2.28.8.Creating a string from a subset of the array elements
2.28.9.Extracting a substring as an array of characters using the method getChars()
2.28.10.Using the Collection-Based for Loop with a String: Counting all vowels in a string
2.28.11.Construct one String from another.
2.28.12.demonstrates getChars( ):
2.28.13.implements CharSequence
2.28.14.Removes spaces (char <= 32) from end of this String with escape, handling null by returning null
2.28.15.Removes spaces (char <= 32) from end of this String, handling null by returning null
2.28.16.Swaps the case of a String changing upper and title case to lower case, and lower case to upper case.
2.28.17.Deletes all whitespaces from a String as defined by Character.isWhitespace(char).
2.28.18.Checks whether the String contains only digit characters.
2.28.19.Checks that the String does not contain certain characters.