Java tutorial
//package com.java2s; /* * 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 { /** * <p> * Swaps the case of String. * </p> * <p/> * <p> * Properly looks after making sure the start of words are Titlecase and not Uppercase. * </p> * <p/> * <p> * <code>null</code> is returned as <code>null</code>. * </p> * * @param str the String to swap the case of * @return the modified String */ public static String swapCase(String str) { if (str == null) { return null; } int sz = str.length(); StringBuilder buffer = new StringBuilder(sz); boolean whitespace = false; char ch; char tmp; for (int i = 0; i < sz; i++) { ch = str.charAt(i); if (Character.isUpperCase(ch)) { tmp = Character.toLowerCase(ch); } else if (Character.isTitleCase(ch)) { tmp = Character.toLowerCase(ch); } else if (Character.isLowerCase(ch)) { if (whitespace) { tmp = Character.toTitleCase(ch); } else { tmp = Character.toUpperCase(ch); } } else { tmp = ch; } buffer.append(tmp); whitespace = Character.isWhitespace(ch); } return buffer.toString(); } /** * <p> * Checks if the String contains only whitespace. * </p> * <p/> * <p> * <code>null</code> will return <code>false</code>. An empty String will return <code>true</code>. * </p> * * @param str the String to check * @return <code>true</code> if only contains whitespace, and is non-null */ public static boolean isWhitespace(String str) { if (str == null) { return false; } int sz = str.length(); for (int i = 0; i < sz; i++) { if ((Character.isWhitespace(str.charAt(i)) == false)) { return false; } } return true; } }