# Class CaseUtils

java.lang.Object
org.apache.commons.text.CaseUtils

public class CaseUtils extends Object
Case manipulation operations on Strings that contain words.

This class tries to handle `null` input gracefully. An exception will not be thrown for a `null` input. Each method documents its behavior in more detail.

Since:
  1.2

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CaseUtils()`
  `CaseUtils` instances should NOT be constructed in standard programming.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static String`
  `toCamelCase(String str, boolean capitalizeFirstLetter, char... delimiters)`
  Converts all the delimiter separated words in a String into camelCase, that is each word is made up of a title case character and then a series of lowercase characters.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CaseUtils

    public CaseUtils()
    `CaseUtils` instances should NOT be constructed in standard programming. Instead, the class should be used as `CaseUtils.toCamelCase("foo bar", true, new char[]{'-'});`.

    This constructor is public to permit tools that require a JavaBean instance to operate.

- ## Method Details

  - ### toCamelCase

    public static String toCamelCase(String str, boolean capitalizeFirstLetter, char... delimiters)
    Converts all the delimiter separated words in a String into camelCase, that is each word is made up of a title case character and then a series of lowercase characters.

    The delimiters represent a set of characters understood to separate words. The first non-delimiter character after a delimiter will be capitalized. The first String character may or may not be capitalized and it's determined by the user input for capitalizeFirstLetter variable.

    A `null` input String returns `null`.

    A input string with only delimiter characters returns `""`.

    Capitalization uses the Unicode title case, normally equivalent to upper case and cannot perform locale-sensitive mappings.

        CaseUtils.toCamelCase(null, false)                                 = null
        CaseUtils.toCamelCase("", false, *)                                = ""
        CaseUtils.toCamelCase(*, false, null)                              = *
        CaseUtils.toCamelCase(*, true, new char[0])                        = *
        CaseUtils.toCamelCase("To.Camel.Case", false, new char[]{'.'})     = "toCamelCase"
        CaseUtils.toCamelCase(" to @ Camel case", true, new char[]{'@'})   = "ToCamelCase"
        CaseUtils.toCamelCase(" @to @ Camel case", false, new char[]{'@'}) = "toCamelCase"
        CaseUtils.toCamelCase(" @", false, new char[]{'@'})                = ""

    Parameters:
      `str` - the String to be converted to camelCase, may be null
      `capitalizeFirstLetter` - boolean that determines if the first character of first word should be title case.
      `delimiters` - set of characters to determine capitalization, null and/or empty array means whitespace
    Returns:
      camelCase of String, `null` if null String input