org.springframework.util

## 类 ObjectUtils

- java.lang.Object
- - org.springframework.util.ObjectUtils

-     public abstract class ObjectUtils
      extends Object

  Miscellaneous object utility methods.

  Mainly for internal use within the framework.

  Thanks to Alex Ruiz for contributing several enhancements to this class!

  从以下版本开始:
    19.03.2004
  作者:
    Juergen Hoeller, Keith Donald, Rod Johnson, Rob Harrop, Chris Beams, Sam Brannen
  另请参阅:
    `ClassUtils`, `CollectionUtils`, `StringUtils`

- - ### 构造器概要

    构造器
    构造器和说明
    `ObjectUtils()`

  - ### 方法概要

    所有方法 静态方法 具体方法 已过时的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static <A,O extends A> A[]` | `addObjectToArray(A[] array, O obj)` Append the given object to the given array, returning a new array consisting of the input array contents plus the given object.
    `static <E extends Enum<?>> E` | `caseInsensitiveValueOf(E[] enumValues, String constant)` Case insensitive alternative to `Enum.valueOf(Class, String)`.
    `static boolean` | `containsConstant(Enum<?>[] enumValues, String constant)` Check whether the given array of enum constants contains a constant with the given name, ignoring case when determining a match.
    `static boolean` | `containsConstant(Enum<?>[] enumValues, String constant, boolean caseSensitive)` Check whether the given array of enum constants contains a constant with the given name.
    `static boolean` | `containsElement(Object[] array, Object element)` Check whether the given array contains the given element.
    `static String` | `getDisplayString(Object obj)` Return a content-based String representation if `obj` is not `null`; otherwise returns an empty String.
    `static String` | `getIdentityHexString(Object obj)` Return a hex String form of an object's identity hash code.
    `static int` | `hashCode(boolean bool)` 已过时。 as of Spring Framework 5.0, in favor of the native JDK 8 variant
    `static int` | `hashCode(double dbl)` 已过时。 as of Spring Framework 5.0, in favor of the native JDK 8 variant
    `static int` | `hashCode(float flt)` 已过时。 as of Spring Framework 5.0, in favor of the native JDK 8 variant
    `static int` | `hashCode(long lng)` 已过时。 as of Spring Framework 5.0, in favor of the native JDK 8 variant
    `static String` | `identityToString(Object obj)` Return a String representation of an object's overall identity.
    `static boolean` | `isArray(Object obj)` Determine whether the given object is an array: either an Object array or a primitive array.
    `static boolean` | `isCheckedException(Throwable ex)` Return whether the given throwable is a checked exception: that is, neither a RuntimeException nor an Error.
    `static boolean` | `isCompatibleWithThrowsClause(Throwable ex, Class<?>... declaredExceptions)` Check whether the given exception is compatible with the specified exception types, as declared in a throws clause.
    `static boolean` | `isEmpty(Object obj)` Determine whether the given object is empty.
    `static boolean` | `isEmpty(Object[] array)` Determine whether the given array is empty: i.e.
    `static String` | `nullSafeClassName(Object obj)` Determine the class name for the given object.
    `static boolean` | `nullSafeEquals(Object o1, Object o2)` Determine if the given objects are equal, returning `true` if both are `null` or `false` if only one is `null`.
    `static int` | `nullSafeHashCode(boolean[] array)` Return a hash code based on the contents of the specified array.
    `static int` | `nullSafeHashCode(byte[] array)` Return a hash code based on the contents of the specified array.
    `static int` | `nullSafeHashCode(char[] array)` Return a hash code based on the contents of the specified array.
    `static int` | `nullSafeHashCode(double[] array)` Return a hash code based on the contents of the specified array.
    `static int` | `nullSafeHashCode(float[] array)` Return a hash code based on the contents of the specified array.
    `static int` | `nullSafeHashCode(int[] array)` Return a hash code based on the contents of the specified array.
    `static int` | `nullSafeHashCode(long[] array)` Return a hash code based on the contents of the specified array.
    `static int` | `nullSafeHashCode(Object obj)` Return as hash code for the given object; typically the value of `Object#hashCode()`}.
    `static int` | `nullSafeHashCode(Object[] array)` Return a hash code based on the contents of the specified array.
    `static int` | `nullSafeHashCode(short[] array)` Return a hash code based on the contents of the specified array.
    `static String` | `nullSafeToString(boolean[] array)` Return a String representation of the contents of the specified array.
    `static String` | `nullSafeToString(byte[] array)` Return a String representation of the contents of the specified array.
    `static String` | `nullSafeToString(char[] array)` Return a String representation of the contents of the specified array.
    `static String` | `nullSafeToString(double[] array)` Return a String representation of the contents of the specified array.
    `static String` | `nullSafeToString(float[] array)` Return a String representation of the contents of the specified array.
    `static String` | `nullSafeToString(int[] array)` Return a String representation of the contents of the specified array.
    `static String` | `nullSafeToString(long[] array)` Return a String representation of the contents of the specified array.
    `static String` | `nullSafeToString(Object obj)` Return a String representation of the specified Object.
    `static String` | `nullSafeToString(Object[] array)` Return a String representation of the contents of the specified array.
    `static String` | `nullSafeToString(short[] array)` Return a String representation of the contents of the specified array.
    `static Object[]` | `toObjectArray(Object source)` Convert the given array (which may be a primitive array) to an object array (if necessary of primitive wrapper objects).
    `static Object` | `unwrapOptional(Object obj)` Unwrap the given object which is potentially a `Optional`.

    - ### 从类继承的方法 java.lang.Object

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

- - ### 构造器详细资料

    - #### ObjectUtils

          public ObjectUtils()

  - ### 方法详细资料

    - #### isCheckedException

          public static boolean isCheckedException(Throwable ex)

      Return whether the given throwable is a checked exception: that is, neither a RuntimeException nor an Error.
      参数:
        `ex` - the throwable to check
      返回:
        whether the throwable is a checked exception
      另请参阅:
        `Exception`, `RuntimeException`, `Error`

    - #### isCompatibleWithThrowsClause

          public static boolean isCompatibleWithThrowsClause(Throwable ex,
                                                             @Nullable
                                                             Class<?>... declaredExceptions)

      Check whether the given exception is compatible with the specified exception types, as declared in a throws clause.
      参数:
        `ex` - the exception to check
        `declaredExceptions` - the exception types declared in the throws clause
      返回:
        whether the given exception is compatible

    - #### isArray

          public static boolean isArray(@Nullable
                                        Object obj)

      Determine whether the given object is an array: either an Object array or a primitive array.
      参数:
        `obj` - the object to check

    - #### isEmpty

          public static boolean isEmpty(@Nullable
                                        Object[] array)

      Determine whether the given array is empty: i.e. `null` or of zero length.
      参数:
        `array` - the array to check
      另请参阅:
        `isEmpty(Object)`

    - #### isEmpty

          public static boolean isEmpty(@Nullable
                                        Object obj)

      Determine whether the given object is empty.

      This method supports the following object types.

      - `Optional`: considered empty if `Optional.empty()`
      - `Array`: considered empty if its length is zero
      - `CharSequence`: considered empty if its length is zero
      - `Collection`: delegates to `Collection.isEmpty()`
      - `Map`: delegates to `Map.isEmpty()`

      If the given object is non-null and not one of the aforementioned supported types, this method returns `false`.

      参数:
        `obj` - the object to check
      返回:
        `true` if the object is `null` or empty
      从以下版本开始:
        4.2
      另请参阅:
        `Optional.isPresent()`, `isEmpty(Object[])`, `StringUtils.hasLength(CharSequence)`, `StringUtils.isEmpty(Object)`, `CollectionUtils.isEmpty(java.util.Collection)`, `CollectionUtils.isEmpty(java.util.Map)`

    - #### unwrapOptional

          @Nullable
          public static Object unwrapOptional(@Nullable
                                                         Object obj)

      Unwrap the given object which is potentially a `Optional`.
      参数:
        `obj` - the candidate object
      返回:
        either the value held within the `Optional`, `null` if the `Optional` is empty, or simply the given object as-is
      从以下版本开始:
        5.0

    - #### containsElement

          public static boolean containsElement(@Nullable
                                                Object[] array,
                                                Object element)

      Check whether the given array contains the given element.
      参数:
        `array` - the array to check (may be `null`, in which case the return value will always be `false`)
        `element` - the element to check for
      返回:
        whether the element has been found in the given array

    - #### containsConstant

          public static boolean containsConstant(Enum<?>[] enumValues,
                                                 String constant)

      Check whether the given array of enum constants contains a constant with the given name, ignoring case when determining a match.
      参数:
        `enumValues` - the enum values to check, typically obtained via `MyEnum.values()`
        `constant` - the constant name to find (must not be null or empty string)
      返回:
        whether the constant has been found in the given array

    - #### containsConstant

          public static boolean containsConstant(Enum<?>[] enumValues,
                                                 String constant,
                                                 boolean caseSensitive)

      Check whether the given array of enum constants contains a constant with the given name.
      参数:
        `enumValues` - the enum values to check, typically obtained via `MyEnum.values()`
        `constant` - the constant name to find (must not be null or empty string)
        `caseSensitive` - whether case is significant in determining a match
      返回:
        whether the constant has been found in the given array

    - #### caseInsensitiveValueOf

          public static <E extends Enum<?>> E caseInsensitiveValueOf(E[] enumValues,
                                                                     String constant)

      Case insensitive alternative to `Enum.valueOf(Class, String)`.
      类型参数:
        `E` - the concrete Enum type
      参数:
        `enumValues` - the array of all Enum constants in question, usually per `Enum.values()`
        `constant` - the constant to get the enum value of
      抛出:
        `IllegalArgumentException` - if the given constant is not found in the given array of enum values. Use `containsConstant(Enum[], String)` as a guard to avoid this exception.

    - #### addObjectToArray

          public static <A,O extends A> A[] addObjectToArray(@Nullable
                                                             A[] array,
                                                             @Nullable
                                                             O obj)

      Append the given object to the given array, returning a new array consisting of the input array contents plus the given object.
      参数:
        `array` - the array to append to (can be `null`)
        `obj` - the object to append
      返回:
        the new array (of the same component type; never `null`)

    - #### toObjectArray

          public static Object[] toObjectArray(@Nullable
                                               Object source)

      Convert the given array (which may be a primitive array) to an object array (if necessary of primitive wrapper objects).

      A `null` source value will be converted to an empty Object array.

      参数:
        `source` - the (potentially primitive) array
      返回:
        the corresponding object array (never `null`)
      抛出:
        `IllegalArgumentException` - if the parameter is not an array

    - #### nullSafeEquals

          public static boolean nullSafeEquals(@Nullable
                                               Object o1,
                                               @Nullable
                                               Object o2)

      Determine if the given objects are equal, returning `true` if both are `null` or `false` if only one is `null`.

      Compares arrays with `Arrays.equals`, performing an equality check based on the array elements rather than the array reference.

      参数:
        `o1` - first Object to compare
        `o2` - second Object to compare
      返回:
        whether the given objects are equal
      另请参阅:
        `Object.equals(Object)`, `Arrays.equals(long[], long[])`

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             Object obj)

      Return as hash code for the given object; typically the value of `Object#hashCode()`}. If the object is an array, this method will delegate to any of the `nullSafeHashCode` methods for arrays in this class. If the object is `null`, this method returns 0.
      另请参阅:
        `Object.hashCode()`, `nullSafeHashCode(Object[])`, `nullSafeHashCode(boolean[])`, `nullSafeHashCode(byte[])`, `nullSafeHashCode(char[])`, `nullSafeHashCode(double[])`, `nullSafeHashCode(float[])`, `nullSafeHashCode(int[])`, `nullSafeHashCode(long[])`, `nullSafeHashCode(short[])`

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             Object[] array)

      Return a hash code based on the contents of the specified array. If `array` is `null`, this method returns 0.

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             boolean[] array)

      Return a hash code based on the contents of the specified array. If `array` is `null`, this method returns 0.

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             byte[] array)

      Return a hash code based on the contents of the specified array. If `array` is `null`, this method returns 0.

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             char[] array)

      Return a hash code based on the contents of the specified array. If `array` is `null`, this method returns 0.

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             double[] array)

      Return a hash code based on the contents of the specified array. If `array` is `null`, this method returns 0.

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             float[] array)

      Return a hash code based on the contents of the specified array. If `array` is `null`, this method returns 0.

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             int[] array)

      Return a hash code based on the contents of the specified array. If `array` is `null`, this method returns 0.

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             long[] array)

      Return a hash code based on the contents of the specified array. If `array` is `null`, this method returns 0.

    - #### nullSafeHashCode

          public static int nullSafeHashCode(@Nullable
                                             short[] array)

      Return a hash code based on the contents of the specified array. If `array` is `null`, this method returns 0.

    - #### hashCode

          @Deprecated
          public static int hashCode(boolean bool)

      已过时。 as of Spring Framework 5.0, in favor of the native JDK 8 variant
      Return the same value as `Boolean.hashCode(boolean)`}.

    - #### hashCode

          @Deprecated
          public static int hashCode(double dbl)

      已过时。 as of Spring Framework 5.0, in favor of the native JDK 8 variant
      Return the same value as `Double.hashCode(double)`}.

    - #### hashCode

          @Deprecated
          public static int hashCode(float flt)

      已过时。 as of Spring Framework 5.0, in favor of the native JDK 8 variant
      Return the same value as `Float.hashCode(float)`}.

    - #### hashCode

          @Deprecated
          public static int hashCode(long lng)

      已过时。 as of Spring Framework 5.0, in favor of the native JDK 8 variant
      Return the same value as `Long.hashCode(long)`}.

    - #### identityToString

          public static String identityToString(@Nullable
                                                Object obj)

      Return a String representation of an object's overall identity.
      参数:
        `obj` - the object (may be `null`)
      返回:
        the object's identity as String representation, or an empty String if the object was `null`

    - #### getIdentityHexString

          public static String getIdentityHexString(Object obj)

      Return a hex String form of an object's identity hash code.
      参数:
        `obj` - the object
      返回:
        the object's identity code in hex notation

    - #### getDisplayString

          public static String getDisplayString(@Nullable
                                                Object obj)

      Return a content-based String representation if `obj` is not `null`; otherwise returns an empty String.

      Differs from `nullSafeToString(Object)` in that it returns an empty String rather than "null" for a `null` value.

      参数:
        `obj` - the object to build a display String for
      返回:
        a display String representation of `obj`
      另请参阅:
        `nullSafeToString(Object)`

    - #### nullSafeClassName

          public static String nullSafeClassName(@Nullable
                                                 Object obj)

      Determine the class name for the given object.

      Returns a `"null"` String if `obj` is `null`.

      参数:
        `obj` - the object to introspect (may be `null`)
      返回:
        the corresponding class name

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                Object obj)

      Return a String representation of the specified Object.

      Builds a String representation of the contents in case of an array. Returns a `"null"` String if `obj` is `null`.

      参数:
        `obj` - the object to build a String representation for
      返回:
        a String representation of `obj`

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                Object[] array)

      Return a String representation of the contents of the specified array.

      The String representation consists of a list of the array's elements, enclosed in curly braces (`"{}"`). Adjacent elements are separated by the characters `", "` (a comma followed by a space). Returns a `"null"` String if `array` is `null`.

      参数:
        `array` - the array to build a String representation for
      返回:
        a String representation of `array`

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                boolean[] array)

      Return a String representation of the contents of the specified array.

      The String representation consists of a list of the array's elements, enclosed in curly braces (`"{}"`). Adjacent elements are separated by the characters `", "` (a comma followed by a space). Returns a `"null"` String if `array` is `null`.

      参数:
        `array` - the array to build a String representation for
      返回:
        a String representation of `array`

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                byte[] array)

      Return a String representation of the contents of the specified array.

      The String representation consists of a list of the array's elements, enclosed in curly braces (`"{}"`). Adjacent elements are separated by the characters `", "` (a comma followed by a space). Returns a `"null"` String if `array` is `null`.

      参数:
        `array` - the array to build a String representation for
      返回:
        a String representation of `array`

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                char[] array)

      Return a String representation of the contents of the specified array.

      The String representation consists of a list of the array's elements, enclosed in curly braces (`"{}"`). Adjacent elements are separated by the characters `", "` (a comma followed by a space). Returns a `"null"` String if `array` is `null`.

      参数:
        `array` - the array to build a String representation for
      返回:
        a String representation of `array`

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                double[] array)

      Return a String representation of the contents of the specified array.

      The String representation consists of a list of the array's elements, enclosed in curly braces (`"{}"`). Adjacent elements are separated by the characters `", "` (a comma followed by a space). Returns a `"null"` String if `array` is `null`.

      参数:
        `array` - the array to build a String representation for
      返回:
        a String representation of `array`

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                float[] array)

      Return a String representation of the contents of the specified array.

      The String representation consists of a list of the array's elements, enclosed in curly braces (`"{}"`). Adjacent elements are separated by the characters `", "` (a comma followed by a space). Returns a `"null"` String if `array` is `null`.

      参数:
        `array` - the array to build a String representation for
      返回:
        a String representation of `array`

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                int[] array)

      Return a String representation of the contents of the specified array.

      The String representation consists of a list of the array's elements, enclosed in curly braces (`"{}"`). Adjacent elements are separated by the characters `", "` (a comma followed by a space). Returns a `"null"` String if `array` is `null`.

      参数:
        `array` - the array to build a String representation for
      返回:
        a String representation of `array`

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                long[] array)

      Return a String representation of the contents of the specified array.

      The String representation consists of a list of the array's elements, enclosed in curly braces (`"{}"`). Adjacent elements are separated by the characters `", "` (a comma followed by a space). Returns a `"null"` String if `array` is `null`.

      参数:
        `array` - the array to build a String representation for
      返回:
        a String representation of `array`

    - #### nullSafeToString

          public static String nullSafeToString(@Nullable
                                                short[] array)

      Return a String representation of the contents of the specified array.

      The String representation consists of a list of the array's elements, enclosed in curly braces (`"{}"`). Adjacent elements are separated by the characters `", "` (a comma followed by a space). Returns a `"null"` String if `array` is `null`.

      参数:
        `array` - the array to build a String representation for
      返回:
        a String representation of `array`