Class ObjectUtils
Mainly for internal use within the framework.
Thanks to Alex Ruiz for contributing several enhancements to this class!
- Since:
- 19.03.2004
- Author:
- Juergen Hoeller, Keith Donald, Rod Johnson, Rob Harrop, Chris Beams, Sam Brannen
- See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic <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 <A,O extends A> 
 A[]addObjectToArray(A[] array, 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.static <E extends Enum<?>>
 EcaseInsensitiveValueOf(E[] enumValues, String constant) Case insensitive alternative toEnum.valueOf(Class, String).static booleancontainsConstant(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 booleancontainsConstant(Enum<?>[] enumValues, String constant, boolean caseSensitive) Check whether the given array of enum constants contains a constant with the given name.static booleancontainsElement(Object[] array, Object element) Check whether the given array contains the given element.static StringgetDisplayString(Object obj) Return a content-based String representation ifobjis notnull; otherwise returns an empty String.static StringReturn a hex String form of an object's identity hash code.static StringidentityToString(Object obj) Return a String representation of an object's overall identity.static booleanDetermine whether the given object is an array: either an Object array or a primitive array.static booleanReturn whether the given throwable is a checked exception: that is, neither a RuntimeException nor an Error.static booleanisCompatibleWithThrowsClause(Throwable ex, Class<?>... declaredExceptions) Check whether the given exception is compatible with the specified exception types, as declared in a throws clause.static booleanDetermine whether the given object is empty.static booleanDetermine whether the given array is empty: i.e.static StringnullSafeClassName(Object obj) Determine the class name for the given object.static StringGenerate a null-safe, concise string representation of the supplied object as described below.static booleannullSafeEquals(Object o1, Object o2) Determine if the given objects are equal, returningtrueif both arenullorfalseif only one isnull.static intnullSafeHashCode(boolean[] array) Return a hash code based on the contents of the specified array.static intnullSafeHashCode(byte[] array) Return a hash code based on the contents of the specified array.static intnullSafeHashCode(char[] array) Return a hash code based on the contents of the specified array.static intnullSafeHashCode(double[] array) Return a hash code based on the contents of the specified array.static intnullSafeHashCode(float[] array) Return a hash code based on the contents of the specified array.static intnullSafeHashCode(int[] array) Return a hash code based on the contents of the specified array.static intnullSafeHashCode(long[] array) Return a hash code based on the contents of the specified array.static intnullSafeHashCode(short[] array) Return a hash code based on the contents of the specified array.static intnullSafeHashCode(Object obj) Return as hash code for the given object; typically the value ofObject#hashCode()}.static intnullSafeHashCode(Object[] array) Return a hash code based on the contents of the specified array.static StringnullSafeToString(boolean[] array) Return a String representation of the contents of the specified array.static StringnullSafeToString(byte[] array) Return a String representation of the contents of the specified array.static StringnullSafeToString(char[] array) Return a String representation of the contents of the specified array.static StringnullSafeToString(double[] array) Return a String representation of the contents of the specified array.static StringnullSafeToString(float[] array) Return a String representation of the contents of the specified array.static StringnullSafeToString(int[] array) Return a String representation of the contents of the specified array.static StringnullSafeToString(long[] array) Return a String representation of the contents of the specified array.static StringnullSafeToString(short[] array) Return a String representation of the contents of the specified array.static StringnullSafeToString(Object obj) Return a String representation of the specified Object.static StringnullSafeToString(Object[] 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 ObjectunwrapOptional(Object obj) Unwrap the given object which is potentially aOptional.
- 
Constructor Details- 
ObjectUtilspublic ObjectUtils()
 
- 
- 
Method Details- 
isCheckedExceptionReturn whether the given throwable is a checked exception: that is, neither a RuntimeException nor an Error.- Parameters:
- ex- the throwable to check
- Returns:
- whether the throwable is a checked exception
- See Also:
 
- 
isCompatibleWithThrowsClausepublic 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.- Parameters:
- ex- the exception to check
- declaredExceptions- the exception types declared in the throws clause
- Returns:
- whether the given exception is compatible
 
- 
isArrayDetermine whether the given object is an array: either an Object array or a primitive array.- Parameters:
- obj- the object to check
 
- 
isEmptyDetermine whether the given array is empty: i.e.nullor of zero length.- Parameters:
- array- the array to check
- See Also:
 
- 
isEmptyDetermine whether the given object is empty.This method supports the following object types. - Optional: considered empty if not- Optional.isPresent()
- 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.- Parameters:
- obj- the object to check
- Returns:
- trueif the object is- nullor empty
- Since:
- 4.2
- See Also:
 
- 
unwrapOptionalUnwrap the given object which is potentially aOptional.- Parameters:
- obj- the candidate object
- Returns:
- either the value held within the Optional,nullif theOptionalis empty, or simply the given object as-is
- Since:
- 5.0
 
- 
containsElementCheck whether the given array contains the given element.- Parameters:
- array- the array to check (may be- null, in which case the return value will always be- false)
- element- the element to check for
- Returns:
- whether the element has been found in the given array
 
- 
containsConstantCheck whether the given array of enum constants contains a constant with the given name, ignoring case when determining a match.- Parameters:
- enumValues- the enum values to check, typically obtained via- MyEnum.values()
- constant- the constant name to find (must not be null or empty string)
- Returns:
- whether the constant has been found in the given array
 
- 
containsConstantpublic static boolean containsConstant(Enum<?>[] enumValues, String constant, boolean caseSensitive) Check whether the given array of enum constants contains a constant with the given name.- Parameters:
- 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
- Returns:
- whether the constant has been found in the given array
 
- 
caseInsensitiveValueOfCase insensitive alternative toEnum.valueOf(Class, String).- Type Parameters:
- E- the concrete Enum type
- Parameters:
- enumValues- the array of all Enum constants in question, usually per- Enum.values()
- constant- the constant to get the enum value of
- Throws:
- 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.
 
- 
addObjectToArrayAppend the given object to the given array, returning a new array consisting of the input array contents plus the given object.- Parameters:
- array- the array to append to (can be- null)
- obj- the object to append
- Returns:
- the new array (of the same component type; never null)
 
- 
addObjectToArraypublic 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.- Parameters:
- array- the array to add to (can be- null)
- obj- the object to append
- position- the position at which to add the object
- Returns:
- the new array (of the same component type; never null)
- Since:
- 6.0
 
- 
toObjectArrayConvert the given array (which may be a primitive array) to an object array (if necessary of primitive wrapper objects).A nullsource value will be converted to an empty Object array.- Parameters:
- source- the (potentially primitive) array
- Returns:
- the corresponding object array (never null)
- Throws:
- IllegalArgumentException- if the parameter is not an array
 
- 
nullSafeEqualsDetermine if the given objects are equal, returningtrueif both arenullorfalseif only one isnull.Compares arrays with Arrays.equals, performing an equality check based on the array elements rather than the array reference.- Parameters:
- o1- first Object to compare
- o2- second Object to compare
- Returns:
- whether the given objects are equal
- See Also:
 
- 
nullSafeHashCodeReturn as hash code for the given object; typically the value ofObject#hashCode()}. If the object is an array, this method will delegate to any of thenullSafeHashCodemethods for arrays in this class. If the object isnull, this method returns 0.
- 
nullSafeHashCodeReturn a hash code based on the contents of the specified array. Ifarrayisnull, this method returns 0.
- 
nullSafeHashCodeReturn a hash code based on the contents of the specified array. Ifarrayisnull, this method returns 0.
- 
nullSafeHashCodeReturn a hash code based on the contents of the specified array. Ifarrayisnull, this method returns 0.
- 
nullSafeHashCodeReturn a hash code based on the contents of the specified array. Ifarrayisnull, this method returns 0.
- 
nullSafeHashCodeReturn a hash code based on the contents of the specified array. Ifarrayisnull, this method returns 0.
- 
nullSafeHashCodeReturn a hash code based on the contents of the specified array. Ifarrayisnull, this method returns 0.
- 
nullSafeHashCodeReturn a hash code based on the contents of the specified array. Ifarrayisnull, this method returns 0.
- 
nullSafeHashCodeReturn a hash code based on the contents of the specified array. Ifarrayisnull, this method returns 0.
- 
nullSafeHashCodeReturn a hash code based on the contents of the specified array. Ifarrayisnull, this method returns 0.
- 
identityToStringReturn a String representation of an object's overall identity.- Parameters:
- obj- the object (may be- null)
- Returns:
- the object's identity as String representation,
 or an empty String if the object was null
 
- 
getIdentityHexStringReturn a hex String form of an object's identity hash code.- Parameters:
- obj- the object
- Returns:
- the object's identity code in hex notation
 
- 
getDisplayStringReturn a content-based String representation ifobjis notnull; otherwise returns an empty String.Differs from nullSafeToString(Object)in that it returns an empty String rather than "null" for anullvalue.- Parameters:
- obj- the object to build a display String for
- Returns:
- a display String representation of obj
- See Also:
 
- 
nullSafeClassNameDetermine the class name for the given object.Returns a "null"String ifobjisnull.- Parameters:
- obj- the object to introspect (may be- null)
- Returns:
- the corresponding class name
 
- 
nullSafeToStringReturn a String representation of the specified Object.Builds a String representation of the contents in case of an array. Returns a "null"String ifobjisnull.- Parameters:
- obj- the object to build a String representation for
- Returns:
- a String representation of obj
- See Also:
 
- 
nullSafeToStringReturn 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 ifarrayisnull.- Parameters:
- array- the array to build a String representation for
- Returns:
- a String representation of array
 
- 
nullSafeToStringReturn 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 ifarrayisnull.- Parameters:
- array- the array to build a String representation for
- Returns:
- a String representation of array
 
- 
nullSafeToStringReturn 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 ifarrayisnull.- Parameters:
- array- the array to build a String representation for
- Returns:
- a String representation of array
 
- 
nullSafeToStringReturn 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 ifarrayisnull.- Parameters:
- array- the array to build a String representation for
- Returns:
- a String representation of array
 
- 
nullSafeToStringReturn 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 ifarrayisnull.- Parameters:
- array- the array to build a String representation for
- Returns:
- a String representation of array
 
- 
nullSafeToStringReturn 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 ifarrayisnull.- Parameters:
- array- the array to build a String representation for
- Returns:
- a String representation of array
 
- 
nullSafeToStringReturn 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 ifarrayisnull.- Parameters:
- array- the array to build a String representation for
- Returns:
- a String representation of array
 
- 
nullSafeToStringReturn 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 ifarrayisnull.- Parameters:
- array- the array to build a String representation for
- Returns:
- a String representation of array
 
- 
nullSafeToStringReturn 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 ifarrayisnull.- Parameters:
- array- the array to build a String representation for
- Returns:
- a String representation of array
 
- 
nullSafeConciseToStringGenerate 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: - "null"if- objis- null
- "Optional.empty"if- objis an empty- Optional
- "Optional[<concise-string>]"if- objis a non-empty- Optional, where- <concise-string>is the result of invoking this method on the object contained in the- Optional
- "{}"if- objis an empty array
- "{...}"if- objis a- Mapor a non-empty array
- "[...]"if- objis a- Collection
- Class name if objis aClass
- Charset name if objis aCharset
- TimeZone ID if objis aTimeZone
- Zone ID if objis aZoneId
- Potentially truncated string
 if objis aStringorCharSequence
- Potentially truncated string
 if objis a simple value type whosetoString()method returns a non-null value
- Otherwise, a string representation of the object's type name concatenated
 with "@"and a hex string form of the object's identity hash code
 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.- Parameters:
- obj- the object to build a string representation for
- Returns:
- a concise string representation of the supplied object
- Since:
- 5.3.27
- See Also:
 
 
-