类 ObjectUtils

java.lang.Object
cn.taketoday.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!

作者:
Juergen Hoeller, Keith Donald, Rod Johnson, Rob Harrop, Chris Beams, Sam Brannen, TODAY 2019-08-23 00:16
另请参阅:
  • 字段详细资料

  • 构造器详细资料

    • 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
      从以下版本开始:
      4.0
      另请参阅:
    • 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
      从以下版本开始:
      4.0
    • 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
      从以下版本开始:
      3.0
    • 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

      public static boolean isEmpty(@Nullable Object obj)
      Determine whether the given object is empty.

      This method supports the following object types.

      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
      另请参阅:
    • isNotEmpty

      public static boolean isNotEmpty(@Nullable Object[] array)
    • isNotEmpty

      public static boolean isNotEmpty(@Nullable Object obj)
    • 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
      从以下版本开始:
      3.0
    • toArrayObject

      public static Object toArrayObject(String[] source, Class<?> targetClass)
      To array object
      参数:
      source - String array
      targetClass - Target class
      返回:
      An array object
      抛出:
      ConversionException - If can't convert source to target type object
    • parseArray

      public static <T> T parseArray(String[] source, Class<T> targetClass)
    • 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
      从以下版本开始:
      3.0
    • 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
      从以下版本开始:
      4.0
    • 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
      从以下版本开始:
      4.0
    • 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)
      从以下版本开始:
      3.0
    • addObjectToArray

      public static <A, O extends A> A[] addObjectToArray(@Nullable A[] array, @Nullable O obj, int position)
      Add the given object to the given array at the specified position, returning a new array consisting of the input array contents plus the given object.
      参数:
      array - the array to add to (can be null)
      obj - the object to append
      position - the position at which to add the object
      返回:
      the new array (of the same component type; never null)
      从以下版本开始:
      4.0
    • 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
      从以下版本开始:
      3.0
    • 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
      另请参阅:
    • arrayEquals

      private static boolean arrayEquals(Object o1, Object o2)
      Compare the given arrays with Arrays.equals, performing an equality check based on the array elements rather than the array reference.
      参数:
      o1 - first array to compare
      o2 - second array to compare
      返回:
      whether the given objects are equal
      另请参阅:
    • nullSafeHash

      public static int nullSafeHash(@Nullable Object... elements)
      Return a hash code for the given elements, delegating to nullSafeHashCode(Object) for each element. Contrary to Objects.hash(Object...), this method can handle an element that is an array.
      参数:
      elements - the elements to be hashed
      返回:
      a hash value of the elements
      从以下版本开始:
      4.0
    • nullSafeHashCode

      public static int nullSafeHashCode(@Nullable Object obj)
      Return a 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 Arrays.hashCode methods. If the object is null, this method returns 0.
      另请参阅:
    • toHexString

      public static String toHexString(@Nullable Object obj)
    • 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
      另请参阅:
    • 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
    • nullSafeConciseToString

      public static String nullSafeConciseToString(@Nullable Object obj)
      Generate a null-safe, concise string representation of the supplied object as described below.

      Favor this method over nullSafeToString(Object) when you need the length of the generated string to be limited.

      Returns:

      In the context of this method, a simple value type is any of the following: primitive wrapper (excluding Void), Enum, Number, Date, Temporal, File, Path, URI, URL, InetAddress, Currency, Locale, UUID, Pattern.

      参数:
      obj - the object to build a string representation for
      返回:
      a concise string representation of the supplied object
      从以下版本开始:
      4.0
      另请参阅:
    • toString

      @Nullable public static String toString(@Nullable Object obj)
      Return a String from none-null object's toString.
      参数:
      obj - the object to build a String representation for
      返回:
      a String representation of obj
    • getClassName

      public static String getClassName(Object obj)
      get object class name
      参数:
      obj - target
      返回:
      class name
      抛出:
      NullPointerException - if obj is null