类 StringUtils

java.lang.Object
cn.taketoday.util.StringUtils

public abstract class StringUtils extends Object
Miscellaneous String utility methods.

Mainly for internal use within the framework; consider Apache's Commons Lang for a more comprehensive suite of String utilities.

This class delivers some simple functionality that should really be provided by the core Java String and StringBuilder classes. It also provides easy-to-use methods to convert between delimited strings, such as CSV strings, and collections and arrays.

从以下版本开始:
2018-06-26 21:19:09
作者:
Rod Johnson, Juergen Hoeller, Keith Donald, Rob Harrop, Rick Evans, Arjen Poutsma, Sam Brannen, Brian Clozel, Harry Yang
  • 字段详细资料

    • TOP_PATH

      public static final String TOP_PATH
      另请参阅:
    • CURRENT_PATH

      public static final String CURRENT_PATH
      另请参阅:
    • FOLDER_SEPARATOR_CHAR

      public static final char FOLDER_SEPARATOR_CHAR
      另请参阅:
    • FOLDER_SEPARATOR

      public static final String FOLDER_SEPARATOR
      另请参阅:
    • WINDOWS_FOLDER_SEPARATOR

      public static final String WINDOWS_FOLDER_SEPARATOR
      另请参阅:
    • EXTENSION_SEPARATOR

      public static final char EXTENSION_SEPARATOR
      另请参阅:
    • DEFAULT_TRUNCATION_THRESHOLD

      private static final int DEFAULT_TRUNCATION_THRESHOLD
      另请参阅:
    • TRUNCATION_SUFFIX

      private static final String TRUNCATION_SUFFIX
      另请参阅:
    • random

      private static final Random random
  • 构造器详细资料

    • StringUtils

      public StringUtils()
  • 方法详细资料

    • isEmpty

      public static boolean isEmpty(@Nullable CharSequence str)
    • isNotEmpty

      public static boolean isNotEmpty(@Nullable CharSequence str)
    • split

      public static String[] split(@Nullable String source)
      参数:
      source - source string
      返回:
      if source is null this will returns Constant.EMPTY_STRING_ARRAY
    • splitAsList

      public static List<String> splitAsList(@Nullable String source)
      参数:
      source - source string
      返回:
      if source is null this will returns Collections.emptyList()
      从以下版本开始:
      4.0
      另请参阅:
    • isSplitable

      private static boolean isSplitable(char c)
    • split

      @Nullable public static String[] split(@Nullable String toSplit, @Nullable String delimiter)
      Split a String at the first occurrence of the delimiter. Does not include the delimiter in the result.
      参数:
      toSplit - the string to split (potentially null or empty)
      delimiter - to split the string up with (potentially null or empty)
      返回:
      a two element array with index 0 being before the delimiter, and index 1 being after the delimiter (neither element includes the delimiter); or null if the delimiter wasn't found in the given input String
    • uriDecode

      public static String uriDecode(String source, Charset charset)
      Decode the given encoded URI component value. Based on the following rules:
      • Alphanumeric characters "a" through "z", "A" through "Z", and "0" through "9" stay the same.
      • Special characters "-", "_", ".", and "*" stay the same.
      • A sequence "%<i>xy</i>" is interpreted as a hexadecimal representation of the character.
      参数:
      source - the encoded String
      charset - the character set
      返回:
      the decoded value
      抛出:
      IllegalArgumentException - when the given source contains invalid encoded sequences
      从以下版本开始:
      4.0
      另请参阅:
    • splitArrayElementsIntoProperties

      @Nullable public static Properties splitArrayElementsIntoProperties(String[] array, String delimiter)
      Take an array of strings and split each element based on the given delimiter. A Properties instance is then generated, with the left of the delimiter providing the key, and the right of the delimiter providing the value.

      Will trim both the key and value before adding them to the Properties.

      参数:
      array - the array to process
      delimiter - to split each element using (typically the equals symbol)
      返回:
      a Properties instance representing the array contents, or null if the array to process was null or empty
      从以下版本开始:
      4.0
    • splitArrayElementsIntoProperties

      @Nullable public static Properties splitArrayElementsIntoProperties(String[] array, String delimiter, @Nullable String charsToDelete)
      Take an array of strings and split each element based on the given delimiter. A Properties instance is then generated, with the left of the delimiter providing the key, and the right of the delimiter providing the value.

      Will trim both the key and value before adding them to the Properties instance.

      参数:
      array - the array to process
      delimiter - to split each element using (typically the equals symbol)
      charsToDelete - one or more characters to remove from each element prior to attempting the split operation (typically the quotation mark symbol), or null if no removal should occur
      返回:
      a Properties instance representing the array contents, or null if the array to process was null or empty
      从以下版本开始:
      4.0
    • tokenizeToStringArray

      public static String[] tokenizeToStringArray(@Nullable String str, String delimiters)
      Tokenize the given String into a String array via a StringTokenizer.

      Trims tokens and omits empty tokens.

      The given delimiters string can consist of any number of delimiter characters. Each of those characters can be used to separate tokens. A delimiter is always a single character; for multi-character delimiters, consider using delimitedListToStringArray(java.lang.String, java.lang.String).

      参数:
      str - the String to tokenize (potentially null or empty)
      delimiters - the delimiter characters, assembled as a String (each of the characters is individually considered as a delimiter)
      返回:
      an array of the tokens
      另请参阅:
    • tokenizeToStringArray

      public static String[] tokenizeToStringArray(@Nullable String str, String delimiters, boolean trimTokens, boolean ignoreEmptyTokens)
      Tokenize the given String into a String array via a StringTokenizer.

      The given delimiters string can consist of any number of delimiter characters. Each of those characters can be used to separate tokens. A delimiter is always a single character; for multi-character delimiters, consider using delimitedListToStringArray(java.lang.String, java.lang.String).

      参数:
      str - the String to tokenize (potentially null or empty)
      delimiters - the delimiter characters, assembled as a String (each of the characters is individually considered as a delimiter)
      trimTokens - trim the tokens via String.trim()
      ignoreEmptyTokens - omit empty tokens from the result array (only applies to tokens that are empty after trimming; StringTokenizer will not consider subsequent delimiters as token in the first place).
      返回:
      an array of the tokens
      另请参阅:
    • toStringArray

      public static String[] toStringArray(@Nullable Collection<String> collection)
      Copy the given Collection into a String array.

      The Collection must contain String elements only.

      参数:
      collection - the Collection to copy (potentially null or empty)
      返回:
      the resulting String array
      从以下版本开始:
      4.0
    • toStringArray

      public static String[] toStringArray(@Nullable Enumeration<String> enumeration)
      Copy the given Enumeration into a String array.

      The Enumeration must contain String elements only.

      参数:
      enumeration - the Enumeration to copy (potentially null or empty)
      返回:
      the resulting String array
      从以下版本开始:
      4.0
    • addStringToArray

      public static String[] addStringToArray(@Nullable String[] array, String str)
      Append the given String to the given String array, returning a new array consisting of the input array contents plus the given String.
      参数:
      array - the array to append to (can be null)
      str - the String to append
      返回:
      the new array (never null)
      从以下版本开始:
      4.0
    • sortArray

      public static String[] sortArray(String[] array)
      Sort the given String array if necessary.
      参数:
      array - the original array (potentially empty)
      返回:
      the array in sorted form (never null)
      从以下版本开始:
      4.0
    • trimArrayElements

      public static String[] trimArrayElements(String[] array)
      Trim the elements of the given String array, calling String.trim() on each non-null element.
      参数:
      array - the original String array (potentially empty)
      返回:
      the resulting array (of the same size) with trimmed elements
      从以下版本开始:
      4.0
    • removeDuplicateStrings

      public static String[] removeDuplicateStrings(String[] array)
      Remove duplicate strings from the given array.
      参数:
      array - the String array (potentially empty)
      返回:
      an array without duplicates, in natural sort order
      从以下版本开始:
      4.0
    • arrayToDelimitedString

      public static String arrayToDelimitedString(@Nullable Object[] arr, String delim)
      Convert a String array into a delimited String (e.g. CSV).

      Useful for toString() implementations.

      参数:
      arr - the array to display (potentially null or empty)
      delim - the delimiter to use (typically a ",")
      返回:
      the delimited String
    • arrayToCommaDelimitedString

      public static String arrayToCommaDelimitedString(@Nullable Object[] arr)
      Convert a String array into a comma delimited String (i.e., CSV).

      Useful for toString() implementations.

      参数:
      arr - the array to display (potentially null or empty)
      返回:
      the delimited String
    • collectionToDelimitedString

      public static String collectionToDelimitedString(@Nullable Collection<?> coll, String delim, String prefix, String suffix)
      Convert a Collection to a delimited String (e.g. CSV).

      Useful for toString() implementations.

      参数:
      coll - the Collection to convert (potentially null or empty)
      delim - the delimiter to use (typically a ",")
      prefix - the String to start each element with
      suffix - the String to end each element with
      返回:
      the delimited String
      从以下版本开始:
      2.1.7
    • collectionToDelimitedString

      public static String collectionToDelimitedString(@Nullable Collection<?> coll, String delim)
      Convert a Collection into a delimited String (e.g. CSV).

      Useful for toString() implementations.

      参数:
      coll - the Collection to convert (potentially null or empty)
      delim - the delimiter to use (typically a ",")
      返回:
      the delimited String
      从以下版本开始:
      4.0
    • collectionToCommaDelimitedString

      public static String collectionToCommaDelimitedString(@Nullable Collection<?> coll)
      Convert a Collection into a delimited String (e.g., CSV).

      Useful for toString() implementations.

      参数:
      coll - the Collection to convert (potentially null or empty)
      返回:
      the delimited String
      从以下版本开始:
      2.1.7
    • commaDelimitedListToSet

      public static Set<String> commaDelimitedListToSet(@Nullable String str)
      Convert a comma delimited list (e.g., a row from a CSV file) into a set.

      Note that this will suppress duplicates, and as of 4.2, the elements in the returned set will preserve the original order in a LinkedHashSet.

      参数:
      str - the input String (potentially null or empty)
      返回:
      a set of String entries in the list
      从以下版本开始:
      4.0
      另请参阅:
    • getUUIDString

      public static String getUUIDString()
      Use UUID to get random uuid string
      返回:
      Random uuid string
    • cleanPath

      public static String cleanPath(String path)
      Normalize the path by suppressing sequences like "path/.." and inner simple dots.

      The result is convenient for path comparison. For other uses, notice that Windows separators ("\") are replaced by simple slashes.

      参数:
      path - the original path
      返回:
      the normalized path
    • pathEquals

      public static boolean pathEquals(String path1, String path2)
      Compare two paths after normalization of them.
      参数:
      path1 - first path for comparison
      path2 - second path for comparison
      返回:
      whether the two paths are equivalent after normalization
    • prependLeadingSlash

      public static String prependLeadingSlash(@Nullable String path)
      Check Url, format url like :
       users    -> /users
       /users   -> /users
       
      参数:
      path - Input path
    • countOccurrencesOf

      public static int countOccurrencesOf(String str, String sub)
      Count the occurrences of the substring sub in string str.
      参数:
      str - string to search in
      sub - string to search for
    • delete

      public static String delete(String inString, String pattern)
      Delete all occurrences of the given substring.
      参数:
      inString - the original String
      pattern - the pattern to delete all occurrences of
      返回:
      the resulting String
      从以下版本开始:
      4.0
    • replace

      public static String replace(String inString, String oldPattern, @Nullable String newPattern)
      Replace all occurrences of a substring within a string with another string.
      参数:
      inString - String to examine
      oldPattern - String to replace
      newPattern - String to insert
      返回:
      a String with the replacements
    • quote

      @Nullable public static String quote(@Nullable String str)
      Quote the given String with single quotes.
      参数:
      str - the input String (e.g. "myString")
      返回:
      the quoted String (e.g. "'myString'"), or null if the input was null
      从以下版本开始:
      4.0
    • quoteIfString

      @Nullable public static Object quoteIfString(@Nullable Object obj)
      Turn the given Object into a String with single quotes if it is a String; keeping the Object as-is else.
      参数:
      obj - the input Object (e.g. "myString")
      返回:
      the quoted String (e.g. "'myString'"), or the input object as-is if not a String
      从以下版本开始:
      4.0
    • unqualify

      public static String unqualify(String qualifiedName)
      Unqualify a string qualified by a '.' dot character. For example, "this.name.is.qualified", returns "qualified".
      参数:
      qualifiedName - the qualified name
      从以下版本开始:
      4.0
    • unqualify

      public static String unqualify(String qualifiedName, char separator)
      Unqualify a string qualified by a separator character. For example, "this:name:is:qualified" returns "qualified" if using a ':' separator.
      参数:
      qualifiedName - the qualified name
      separator - the separator
      从以下版本开始:
      4.0
    • capitalize

      public static String capitalize(String str)
      Capitalize a String, changing the first letter to upper case as per Character.toUpperCase(char). No other letters are changed.
      参数:
      str - the String to capitalize
      返回:
      the capitalized String
    • uncapitalize

      public static String uncapitalize(String str)
      Uncapitalize a String, changing the first letter to lower case as per Character.toLowerCase(char). No other letters are changed.
      参数:
      str - the String to uncapitalize
      返回:
      the uncapitalized String
    • uncapitalizeAsProperty

      public static String uncapitalizeAsProperty(String str)
      Uncapitalize a String in JavaBeans property format, changing the first letter to lower case as per Character.toLowerCase(char), unless the initial two letters are upper case in direct succession.
      参数:
      str - the String to uncapitalize
      返回:
      the uncapitalized String
      从以下版本开始:
      4.0
      另请参阅:
    • changeFirstCharacterCase

      public static String changeFirstCharacterCase(String str, boolean capitalize)
    • deleteAny

      public static String deleteAny(String inString, @Nullable String charsToDelete)
      Delete any character in a given String.
      参数:
      inString - the original String
      charsToDelete - a set of characters to delete. E.g. "az\n" will delete 'a's, 'z's and new lines.
      返回:
      the resulting String
    • commaDelimitedListToStringArray

      public static String[] commaDelimitedListToStringArray(@Nullable String str)
      Convert a comma delimited list (e.g., a row from a CSV file) into an array of strings.
      参数:
      str - the input String (potentially null or empty)
      返回:
      an array of strings, or the empty array in case of empty input
    • delimitedListToStringArray

      public static String[] delimitedListToStringArray(@Nullable String str, @Nullable String delimiter)
      Take a String that is a delimited list and convert it into a String array.

      A single delimiter may consist of more than one character, but it will still be considered as a single delimiter string, rather than as bunch of potential delimiter characters, in contrast to tokenizeToStringArray(java.lang.String, java.lang.String).

      参数:
      str - the input String (potentially null or empty)
      delimiter - the delimiter between elements (this is a single delimiter, rather than a bunch individual delimiter characters)
      返回:
      an array of the tokens in the list
      另请参阅:
    • delimitedListToStringArray

      public static String[] delimitedListToStringArray(@Nullable String str, @Nullable String delimiter, @Nullable String charsToDelete)
      Take a String that is a delimited list and convert it into a String array.

      A single delimiter may consist of more than one character, but it will still be considered as a single delimiter string, rather than as bunch of potential delimiter characters, in contrast to tokenizeToStringArray(java.lang.String, java.lang.String).

      参数:
      str - the input String (potentially null or empty)
      delimiter - the delimiter between elements (this is a single delimiter, rather than a bunch individual delimiter characters)
      charsToDelete - a set of characters to delete; useful for deleting unwanted line breaks: e.g. "\r\n\f" will delete all new lines and line feeds in a String
      返回:
      an array of the tokens in the list
      另请参阅:
    • concatenateStringArrays

      public static String[] concatenateStringArrays(String[] array1, String[] array2)
      Concatenate the given String arrays into one, with overlapping array elements included twice.

      The order of elements in the original arrays is preserved.

      参数:
      array1 - the first array (can be null)
      array2 - the second array (can be null)
      返回:
      the new array (null if both given arrays were null)
    • hasText

      public static boolean hasText(@Nullable CharSequence str)
      Check whether the given CharSequence contains actual text.

      More specifically, this method returns true if the CharSequence is not null, its length is greater than 0, and it contains at least one non-whitespace character.

       StringUtils.hasText(null) = false
       StringUtils.hasText("") = false
       StringUtils.hasText(" ") = false
       StringUtils.hasText("12345") = true
       StringUtils.hasText(" 12345 ") = true
       
      参数:
      str - the CharSequence to check (may be null)
      返回:
      true if the CharSequence is not null, its length is greater than 0, and it does not contain whitespace only
      另请参阅:
    • hasText

      public static boolean hasText(@Nullable String str)
      Check whether the given String contains actual text.

      More specifically, this method returns true if the String is not null, its length is greater than 0, and it contains at least one non-whitespace character.

      参数:
      str - the String to check (may be null)
      返回:
      true if the String is not null, its length is greater than 0, and it does not contain whitespace only
      另请参阅:
    • isBlank

      public static boolean isBlank(@Nullable String str)
      Check whether the given String contains actual text.

      More specifically, this method returns true if the String is null, its length is greater than 0, and it contains whitespace character only.

      
       StringUtils.isBlank(null) = true
       StringUtils.isBlank("") = true
       StringUtils.isBlank(" ") = true
       StringUtils.isBlank("12345") = false
       StringUtils.isBlank(" 12345 ") = false
       
      参数:
      str - the String to check (may be null)
      返回:
      true if the String is null, its length is greater than 0, and it contains whitespace only
      从以下版本开始:
      4.0
      另请参阅:
    • isBlank

      public static boolean isBlank(@Nullable CharSequence str)
      Check whether the given CharSequence contains actual text.

      More specifically, this method returns true if the CharSequence is null or its length is greater than 0, and it contains whitespace character only.

      
       StringUtils.isBlank(null) = true
       StringUtils.isBlank("") = true
       StringUtils.isBlank(" ") = true
       StringUtils.isBlank("12345") = false
       StringUtils.isBlank(" 12345 ") = false
       
      参数:
      str - the CharSequence to check (may be null)
      返回:
      true if the CharSequence is not null, its length is greater than 0, and it contains whitespace only
      从以下版本开始:
      4.0
      另请参阅:
    • getFilename

      @Nullable public static String getFilename(@Nullable String path)
      Extract the filename from the given Java resource path, e.g. "mypath/myfile.txt" -> "myfile.txt".
      参数:
      path - the file path (may be null)
      返回:
      the extracted filename, or null if none
    • getFilenameExtension

      @Nullable public static String getFilenameExtension(@Nullable String path)
      Extract the filename extension from the given Java resource path, e.g. "mypath/myfile.txt" -> "txt".
      参数:
      path - the file path (may be null)
      返回:
      the extracted filename extension, or null if none
    • stripFilenameExtension

      public static String stripFilenameExtension(String path)
      Strip the filename extension from the given Java resource path, e.g. "mypath/myfile.txt" -> "mypath/myfile".
      参数:
      path - the file path
      返回:
      the path with stripped filename extension
    • applyRelativePath

      public static String applyRelativePath(String path, String relativePath)
      Apply the given relative path to the given Java resource path, assuming standard Java folder separation (i.e. "/" separators).
      参数:
      path - the path to start from (usually a full file path)
      relativePath - the relative path to apply (relative to the full file path above)
      返回:
      the full file path that results from applying the relative path
    • simpleMatch

      public static boolean simpleMatch(@Nullable String pattern, @Nullable String str)
      Match a String against the given pattern, supporting the following simple pattern styles: "xxx*", "*xxx", "*xxx*" and "xxx*yyy" matches (with an arbitrary number of pattern parts), as well as direct equality.
      参数:
      pattern - the pattern to match against
      str - the String to match
      返回:
      whether the String matches the given pattern
    • simpleMatch

      public static boolean simpleMatch(@Nullable String[] patterns, String str)
      Match a String against the given patterns, supporting the following simple pattern styles: "xxx*", "*xxx", "*xxx*" and "xxx*yyy" matches (with an arbitrary number of pattern parts), as well as direct equality.
      参数:
      patterns - the patterns to match against
      str - the String to match
      返回:
      whether the String matches any of the given patterns
    • generateRandomString

      public static String generateRandomString(int length)
    • generateRandomCharacter

      private static char generateRandomCharacter(int type)
    • containsWhitespace

      public static boolean containsWhitespace(CharSequence str)
      Check whether the given CharSequence contains any whitespace characters.
      参数:
      str - the CharSequence to check (may be null)
      返回:
      true if the CharSequence is not empty and contains at least 1 whitespace character
      从以下版本开始:
      3.0
      另请参阅:
    • containsWhitespace

      public static boolean containsWhitespace(String str)
      Check whether the given String contains any whitespace characters.
      参数:
      str - the String to check (may be null)
      返回:
      true if the String is not empty and contains at least 1 whitespace character
      从以下版本开始:
      3.0
      另请参阅:
    • trimWhitespace

      @Nullable public static String trimWhitespace(@Nullable String str)
      Trim leading and trailing whitespace from the given String.
      参数:
      str - the String to check
      返回:
      the trimmed String
      从以下版本开始:
      3.0
      另请参阅:
    • trimAllWhitespace

      @Nullable public static String trimAllWhitespace(@Nullable String str)
      Trim all whitespace from the given String: leading, trailing, and in between characters.
      参数:
      str - the String to check
      返回:
      the trimmed String
      从以下版本开始:
      3.0
      另请参阅:
    • trimAllWhitespace

      public static CharSequence trimAllWhitespace(CharSequence text)
      Trim all whitespace from the given CharSequence: leading, trailing, and in between characters.
      参数:
      text - the CharSequence to check
      返回:
      the trimmed CharSequence
      从以下版本开始:
      4.0
      另请参阅:
    • trimLeadingWhitespace

      @Nullable public static String trimLeadingWhitespace(@Nullable String str)
      Trim leading whitespace from the given String.
      参数:
      str - the String to check
      返回:
      the trimmed String
      从以下版本开始:
      3.0
      另请参阅:
    • trimTrailingWhitespace

      @Nullable public static String trimTrailingWhitespace(@Nullable String str)
      Trim trailing whitespace from the given String.
      参数:
      str - the String to check
      返回:
      the trimmed String
      从以下版本开始:
      3.0
      另请参阅:
    • trimLeadingCharacter

      @Nullable public static String trimLeadingCharacter(@Nullable String str, char leadingCharacter)
      Trim all occurrences of the supplied leading character from the given String.
      参数:
      str - the String to check
      leadingCharacter - the leading character to be trimmed
      返回:
      the trimmed String
      从以下版本开始:
      3.0
    • trimTrailingCharacter

      @Nullable public static String trimTrailingCharacter(@Nullable String str, char trailingCharacter)
      Trim all occurrences of the supplied trailing character from the given String.
      参数:
      str - the String to check
      trailingCharacter - the trailing character to be trimmed
      返回:
      the trimmed String
      从以下版本开始:
      3.0
    • startsWithIgnoreCase

      public static boolean startsWithIgnoreCase(@Nullable String str, @Nullable String prefix)
      Test if the given String starts with the specified prefix, ignoring upper/lower case.
      参数:
      str - the String to check
      prefix - the prefix to look for
      从以下版本开始:
      4.0
      另请参阅:
    • endsWithIgnoreCase

      public static boolean endsWithIgnoreCase(@Nullable String str, @Nullable String suffix)
      Test if the given String ends with the specified suffix, ignoring upper/lower case.
      参数:
      str - the String to check
      suffix - the suffix to look for
      从以下版本开始:
      4.0
      另请参阅:
    • substringMatch

      public static boolean substringMatch(CharSequence str, int index, CharSequence substring)
      Test whether the given string matches the given substring at the given index.
      参数:
      str - the original string (or StringBuilder)
      index - the index in the original string to start matching against
      substring - the substring to match at the given index
    • matchesCharacter

      public static boolean matchesCharacter(@Nullable String str, char singleCharacter)
      Test if the given String matches the given single character.
      参数:
      str - the String to check
      singleCharacter - the character to compare to
      从以下版本开始:
      3.0
    • matchesCharacter

      public static boolean matchesCharacter(@Nullable String str, int idx, char charToMatch)
      Test if the given String matches the given index to single character.
      参数:
      str - given string
      idx - str's index to match
      charToMatch - char To Match
      从以下版本开始:
      4.0
    • matchesFirst

      public static boolean matchesFirst(@Nullable String str, char charToMatch)
      Test if the first given String matches the given single character.

      Suitable for comparing the first character

      参数:
      str - given string
      charToMatch - char To Match
      从以下版本开始:
      4.0
    • matchesLast

      public static boolean matchesLast(@Nullable String str, char charToMatch)
      Test if the last given String matches the given single character.
      参数:
      str - given string
      charToMatch - char To Match
      从以下版本开始:
      4.0
    • parseLocale

      @Nullable public static Locale parseLocale(String localeValue)
      Parse the given String value into a Locale, accepting the Locale.toString() format as well as BCP 47 language tags.
      参数:
      localeValue - the locale value: following either Locale's toString() format ("en", "en_UK", etc), also accepting spaces as separators (as an alternative to underscores), or BCP 47 (e.g. "en-UK") as specified by Locale.forLanguageTag(java.lang.String) on Java 7+
      返回:
      a corresponding Locale instance, or null if none
      抛出:
      IllegalArgumentException - in case of an invalid locale specification
      从以下版本开始:
      3.0
      另请参阅:
    • parseLocaleString

      @Nullable public static Locale parseLocaleString(@Nullable String localeString)
      Parse the given String representation into a Locale.

      For many parsing scenarios, this is an inverse operation of Locale's toString, in a lenient sense. This method does not aim for strict Locale design compliance; it is rather specifically tailored for typical parsing needs.

      Note: This delegate does not accept the BCP 47 language tag format. Please use parseLocale(java.lang.String) for lenient parsing of both formats.

      参数:
      localeString - the locale String: following Locale's toString() format ("en", "en_UK", etc), also accepting spaces as separators (as an alternative to underscores)
      返回:
      a corresponding Locale instance, or null if none
      抛出:
      IllegalArgumentException - in case of an invalid locale specification
      从以下版本开始:
      3.0
    • validateLocalePart

      private static void validateLocalePart(String localePart)
    • parseTimeZoneString

      public static TimeZone parseTimeZoneString(String timeZoneString)
      Parse the given timeZoneString value into a TimeZone.
      参数:
      timeZoneString - the time zone String, following TimeZone.getTimeZone(String) but throwing IllegalArgumentException in case of an invalid time zone specification
      返回:
      a corresponding TimeZone instance
      抛出:
      IllegalArgumentException - in case of an invalid time zone specification
    • camelCaseToUnderscore

      public static String camelCaseToUnderscore(@Nullable String name)
      Convert a name in camelCase to an underscored name in lower case. Any upper case letters are converted to lower case with a preceding underscore.

      Convert a property name using "camelCase" to a corresponding column name with underscores. A name like "customerNumber" would match a "customer_number" column name.

      参数:
      name - the original name
      返回:
      the converted name
      从以下版本开始:
      4.0
    • underscoreToCamelCase

      public static String underscoreToCamelCase(String underscore)
      Takes a string formatted like: 'my_string_variable' and returns it as: 'myStringVariable'
      参数:
      underscore - a string formatted like: 'my_string_variable'
      返回:
      Takes a string formatted like: 'my_string_variable' and returns it as: 'myStringVariable'
      从以下版本开始:
      4.0
    • truncate

      public static String truncate(CharSequence charSequence)
      Truncate the supplied CharSequence.

      Delegates to truncate(CharSequence, int), supplying 100 as the threshold.

      参数:
      charSequence - the CharSequence to truncate
      返回:
      a truncated string, or a string representation of the original CharSequence if its length does not exceed the threshold
      从以下版本开始:
      4.0
    • truncate

      public static String truncate(CharSequence charSequence, int threshold)
      Truncate the supplied CharSequence.

      If the length of the CharSequence is greater than the threshold, this method returns a subsequence of the CharSequence (up to the threshold) appended with the suffix " (truncated)...". Otherwise, this method returns charSequence.toString().

      参数:
      charSequence - the CharSequence to truncate
      threshold - the maximum length after which to truncate; must be a positive number
      返回:
      a truncated string, or a string representation of the original CharSequence if its length does not exceed the threshold
      从以下版本开始:
      4.0