Class StringUtil


  • public final class StringUtil
    extends java.lang.Object
    String utility class.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String byteToHexString​(int value)
      Converts the specified byte value into a hexadecimal integer.
      static <T extends java.lang.Appendable>
      T
      byteToHexString​(T buf, int value)
      Converts the specified byte value into a hexadecimal integer and appends it to the specified buffer.
      static java.lang.String byteToHexStringPadded​(int value)
      Converts the specified byte value into a 2-digit hexadecimal integer.
      static <T extends java.lang.Appendable>
      T
      byteToHexStringPadded​(T buf, int value)
      Converts the specified byte value into a 2-digit hexadecimal integer and appends it to the specified buffer.
      static boolean commonSuffixOfLength​(java.lang.String s, java.lang.String p, int len)
      Checks if two strings have the same suffix of specified length
      static byte decodeHexByte​(java.lang.CharSequence s, int pos)
      Decode a 2-digit hex byte from within a string.
      static byte[] decodeHexDump​(java.lang.CharSequence hexDump)
      Decodes a hex dump
      static byte[] decodeHexDump​(java.lang.CharSequence hexDump, int fromIndex, int length)
      Decodes part of a string with hex dump
      static int decodeHexNibble​(byte b)
      Helper to decode half of a hexadecimal number from a string.
      static int decodeHexNibble​(char c)
      Helper to decode half of a hexadecimal number from a string.
      static boolean endsWith​(java.lang.CharSequence s, char c)
      Determine if the string s ends with the char c.
      static java.lang.CharSequence escapeCsv​(java.lang.CharSequence value)
      Escapes the specified value, if necessary according to RFC-4180.
      static java.lang.CharSequence escapeCsv​(java.lang.CharSequence value, boolean trimWhiteSpace)
      Escapes the specified value, if necessary according to RFC-4180.
      static int indexOfNonWhiteSpace​(java.lang.CharSequence seq, int offset)
      Find the index of the first non-white space character in s starting at offset.
      static int indexOfWhiteSpace​(java.lang.CharSequence seq, int offset)
      Find the index of the first white space character in s starting at offset.
      static boolean isNullOrEmpty​(java.lang.String s)
      Determine if a string is null or String.isEmpty() returns true.
      static boolean isSurrogate​(char c)
      Determine if c lies within the range of values defined for Surrogate Code Point.
      static java.lang.CharSequence join​(java.lang.CharSequence separator, java.lang.Iterable<? extends java.lang.CharSequence> elements)
      Returns a char sequence that contains all elements joined by a given separator.
      static int length​(java.lang.String s)
      Get the length of a string, null input is considered 0 length.
      static java.lang.String simpleClassName​(java.lang.Class<?> clazz)
      Generates a simplified name from a Class.
      static java.lang.String simpleClassName​(java.lang.Object o)
      static java.lang.String substringAfter​(java.lang.String value, char delim)
      Get the item after one char delim if the delim is found (else null).
      static java.lang.String substringBefore​(java.lang.String value, char delim)
      Get the item before one char delim if the delim is found (else null).
      static java.lang.String toHexString​(byte[] src)
      Converts the specified byte array into a hexadecimal value.
      static java.lang.String toHexString​(byte[] src, int offset, int length)
      Converts the specified byte array into a hexadecimal value.
      static <T extends java.lang.Appendable>
      T
      toHexString​(T dst, byte[] src)
      Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
      static <T extends java.lang.Appendable>
      T
      toHexString​(T dst, byte[] src, int offset, int length)
      Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
      static java.lang.String toHexStringPadded​(byte[] src)
      Converts the specified byte array into a hexadecimal value.
      static java.lang.String toHexStringPadded​(byte[] src, int offset, int length)
      Converts the specified byte array into a hexadecimal value.
      static <T extends java.lang.Appendable>
      T
      toHexStringPadded​(T dst, byte[] src)
      Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
      static <T extends java.lang.Appendable>
      T
      toHexStringPadded​(T dst, byte[] src, int offset, int length)
      Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
      static java.lang.CharSequence trimOws​(java.lang.CharSequence value)
      Trim optional white-space characters from the specified value, according to RFC-7230.
      static java.lang.CharSequence unescapeCsv​(java.lang.CharSequence value)
      Unescapes the specified escaped CSV field, if necessary according to RFC-4180.
      static java.util.List<java.lang.CharSequence> unescapeCsvFields​(java.lang.CharSequence value)
      Unescapes the specified escaped CSV fields according to RFC-4180.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • substringAfter

        public static java.lang.String substringAfter​(java.lang.String value,
                                                      char delim)
        Get the item after one char delim if the delim is found (else null). This operation is a simplified and optimized version of String.split(String, int).
      • substringBefore

        public static java.lang.String substringBefore​(java.lang.String value,
                                                       char delim)
        Get the item before one char delim if the delim is found (else null). This operation is a simplified and optimized version of String.split(String, int).
      • commonSuffixOfLength

        public static boolean commonSuffixOfLength​(java.lang.String s,
                                                   java.lang.String p,
                                                   int len)
        Checks if two strings have the same suffix of specified length
        Parameters:
        s - string
        p - string
        len - length of the common suffix
        Returns:
        true if both s and p are not null and both have the same suffix. Otherwise - false
      • byteToHexStringPadded

        public static java.lang.String byteToHexStringPadded​(int value)
        Converts the specified byte value into a 2-digit hexadecimal integer.
      • byteToHexStringPadded

        public static <T extends java.lang.Appendable> T byteToHexStringPadded​(T buf,
                                                                               int value)
        Converts the specified byte value into a 2-digit hexadecimal integer and appends it to the specified buffer.
      • toHexStringPadded

        public static java.lang.String toHexStringPadded​(byte[] src)
        Converts the specified byte array into a hexadecimal value.
      • toHexStringPadded

        public static java.lang.String toHexStringPadded​(byte[] src,
                                                         int offset,
                                                         int length)
        Converts the specified byte array into a hexadecimal value.
      • toHexStringPadded

        public static <T extends java.lang.Appendable> T toHexStringPadded​(T dst,
                                                                           byte[] src)
        Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
      • toHexStringPadded

        public static <T extends java.lang.Appendable> T toHexStringPadded​(T dst,
                                                                           byte[] src,
                                                                           int offset,
                                                                           int length)
        Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
      • byteToHexString

        public static java.lang.String byteToHexString​(int value)
        Converts the specified byte value into a hexadecimal integer.
      • byteToHexString

        public static <T extends java.lang.Appendable> T byteToHexString​(T buf,
                                                                         int value)
        Converts the specified byte value into a hexadecimal integer and appends it to the specified buffer.
      • toHexString

        public static java.lang.String toHexString​(byte[] src)
        Converts the specified byte array into a hexadecimal value.
      • toHexString

        public static java.lang.String toHexString​(byte[] src,
                                                   int offset,
                                                   int length)
        Converts the specified byte array into a hexadecimal value.
      • toHexString

        public static <T extends java.lang.Appendable> T toHexString​(T dst,
                                                                     byte[] src)
        Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
      • toHexString

        public static <T extends java.lang.Appendable> T toHexString​(T dst,
                                                                     byte[] src,
                                                                     int offset,
                                                                     int length)
        Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
      • decodeHexNibble

        public static int decodeHexNibble​(char c)
        Helper to decode half of a hexadecimal number from a string.
        Parameters:
        c - The ASCII character of the hexadecimal number to decode. Must be in the range [0-9a-fA-F].
        Returns:
        The hexadecimal value represented in the ASCII character given, or -1 if the character is invalid.
      • decodeHexNibble

        public static int decodeHexNibble​(byte b)
        Helper to decode half of a hexadecimal number from a string.
        Parameters:
        b - The ASCII character of the hexadecimal number to decode. Must be in the range [0-9a-fA-F].
        Returns:
        The hexadecimal value represented in the ASCII character given, or -1 if the character is invalid.
      • decodeHexByte

        public static byte decodeHexByte​(java.lang.CharSequence s,
                                         int pos)
        Decode a 2-digit hex byte from within a string.
      • decodeHexDump

        public static byte[] decodeHexDump​(java.lang.CharSequence hexDump,
                                           int fromIndex,
                                           int length)
        Decodes part of a string with hex dump
        Parameters:
        hexDump - a CharSequence which contains the hex dump
        fromIndex - start of hex dump in hexDump
        length - hex string length
      • decodeHexDump

        public static byte[] decodeHexDump​(java.lang.CharSequence hexDump)
        Decodes a hex dump
      • simpleClassName

        public static java.lang.String simpleClassName​(java.lang.Class<?> clazz)
        Generates a simplified name from a Class. Similar to Class.getSimpleName(), but it works fine with anonymous classes.
      • escapeCsv

        public static java.lang.CharSequence escapeCsv​(java.lang.CharSequence value)
        Escapes the specified value, if necessary according to RFC-4180.
        Parameters:
        value - The value which will be escaped according to RFC-4180
        Returns:
        CharSequence the escaped value if necessary, or the value unchanged
      • escapeCsv

        public static java.lang.CharSequence escapeCsv​(java.lang.CharSequence value,
                                                       boolean trimWhiteSpace)
        Escapes the specified value, if necessary according to RFC-4180.
        Parameters:
        value - The value which will be escaped according to RFC-4180
        trimWhiteSpace - The value will first be trimmed of its optional white-space characters, according to RFC-7230
        Returns:
        CharSequence the escaped value if necessary, or the value unchanged
      • unescapeCsv

        public static java.lang.CharSequence unescapeCsv​(java.lang.CharSequence value)
        Unescapes the specified escaped CSV field, if necessary according to RFC-4180.
        Parameters:
        value - The escaped CSV field which will be unescaped according to RFC-4180
        Returns:
        CharSequence the unescaped value if necessary, or the value unchanged
      • unescapeCsvFields

        public static java.util.List<java.lang.CharSequence> unescapeCsvFields​(java.lang.CharSequence value)
        Unescapes the specified escaped CSV fields according to RFC-4180.
        Parameters:
        value - A string with multiple CSV escaped fields which will be unescaped according to RFC-4180
        Returns:
        List the list of unescaped fields
      • length

        public static int length​(java.lang.String s)
        Get the length of a string, null input is considered 0 length.
      • isNullOrEmpty

        public static boolean isNullOrEmpty​(java.lang.String s)
        Determine if a string is null or String.isEmpty() returns true.
      • indexOfNonWhiteSpace

        public static int indexOfNonWhiteSpace​(java.lang.CharSequence seq,
                                               int offset)
        Find the index of the first non-white space character in s starting at offset.
        Parameters:
        seq - The string to search.
        offset - The offset to start searching at.
        Returns:
        the index of the first non-white space character or <-1 if none was found.
      • indexOfWhiteSpace

        public static int indexOfWhiteSpace​(java.lang.CharSequence seq,
                                            int offset)
        Find the index of the first white space character in s starting at offset.
        Parameters:
        seq - The string to search.
        offset - The offset to start searching at.
        Returns:
        the index of the first white space character or <-1 if none was found.
      • isSurrogate

        public static boolean isSurrogate​(char c)
        Determine if c lies within the range of values defined for Surrogate Code Point.
        Parameters:
        c - the character to check.
        Returns:
        true if c lies within the range of values defined for Surrogate Code Point. false otherwise.
      • endsWith

        public static boolean endsWith​(java.lang.CharSequence s,
                                       char c)
        Determine if the string s ends with the char c.
        Parameters:
        s - the string to test
        c - the tested char
        Returns:
        true if s ends with the char c
      • trimOws

        public static java.lang.CharSequence trimOws​(java.lang.CharSequence value)
        Trim optional white-space characters from the specified value, according to RFC-7230.
        Parameters:
        value - the value to trim
        Returns:
        CharSequence the trimmed value if necessary, or the value unchanged
      • join

        public static java.lang.CharSequence join​(java.lang.CharSequence separator,
                                                  java.lang.Iterable<? extends java.lang.CharSequence> elements)
        Returns a char sequence that contains all elements joined by a given separator.
        Parameters:
        separator - for each element
        elements - to join together
        Returns:
        a char sequence joined by a given separator.