public abstract class ObjectUtils
extends java.lang.Object
Mainly for internal use within the framework.
Thanks to Alex Ruiz for contributing several enhancements to this class!
ClassUtils,
CollectionUtils,
StringUtils| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
ARRAY_ELEMENT_SEPARATOR |
private static java.lang.String |
ARRAY_END |
private static java.lang.String |
ARRAY_START |
private static java.lang.String |
EMPTY_ARRAY |
private static java.lang.String |
EMPTY_STRING |
private static int |
INITIAL_HASH |
private static int |
MULTIPLIER |
private static java.lang.String |
NULL_STRING |
| Constructor and Description |
|---|
ObjectUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <A,O extends 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.
|
private static boolean |
arrayEquals(java.lang.Object o1,
java.lang.Object o2)
Compare the given arrays with
Arrays.equals, performing an equality
check based on the array elements rather than the array reference. |
static <E extends java.lang.Enum<?>> |
caseInsensitiveValueOf(E[] enumValues,
java.lang.String constant)
Case insensitive alternative to
Enum.valueOf(Class, String). |
static boolean |
containsConstant(java.lang.Enum<?>[] enumValues,
java.lang.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(java.lang.Enum<?>[] enumValues,
java.lang.String constant,
boolean caseSensitive)
Check whether the given array of enum constants contains a constant with the given name.
|
static boolean |
containsElement(java.lang.Object[] array,
java.lang.Object element)
Check whether the given array contains the given element.
|
static java.lang.String |
getDisplayString(java.lang.Object obj)
Return a content-based String representation if
obj is
not null; otherwise returns an empty String. |
static java.lang.String |
getIdentityHexString(java.lang.Object obj)
Return a hex String form of an object's identity hash code.
|
static int |
hashCode(boolean bool)
Deprecated.
as of Spring Framework 5.0, in favor of the native JDK 8 variant
|
static int |
hashCode(double dbl)
Deprecated.
as of Spring Framework 5.0, in favor of the native JDK 8 variant
|
static int |
hashCode(float flt)
Deprecated.
as of Spring Framework 5.0, in favor of the native JDK 8 variant
|
static int |
hashCode(long lng)
Deprecated.
as of Spring Framework 5.0, in favor of the native JDK 8 variant
|
static java.lang.String |
identityToString(java.lang.Object obj)
Return a String representation of an object's overall identity.
|
static boolean |
isArray(java.lang.Object obj)
Determine whether the given object is an array:
either an Object array or a primitive array.
|
static boolean |
isCheckedException(java.lang.Throwable ex)
Return whether the given throwable is a checked exception:
that is, neither a RuntimeException nor an Error.
|
static boolean |
isCompatibleWithThrowsClause(java.lang.Throwable ex,
java.lang.Class<?>... declaredExceptions)
Check whether the given exception is compatible with the specified
exception types, as declared in a throws clause.
|
static boolean |
isEmpty(java.lang.Object obj)
Determine whether the given object is empty.
|
static boolean |
isEmpty(java.lang.Object[] array)
Determine whether the given array is empty:
i.e.
|
static java.lang.String |
nullSafeClassName(java.lang.Object obj)
Determine the class name for the given object.
|
static boolean |
nullSafeEquals(java.lang.Object o1,
java.lang.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(java.lang.Object obj)
Return as hash code for the given object; typically the value of
Object#hashCode()}. |
static int |
nullSafeHashCode(java.lang.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 java.lang.String |
nullSafeToString(boolean[] array)
Return a String representation of the contents of the specified array.
|
static java.lang.String |
nullSafeToString(byte[] array)
Return a String representation of the contents of the specified array.
|
static java.lang.String |
nullSafeToString(char[] array)
Return a String representation of the contents of the specified array.
|
static java.lang.String |
nullSafeToString(double[] array)
Return a String representation of the contents of the specified array.
|
static java.lang.String |
nullSafeToString(float[] array)
Return a String representation of the contents of the specified array.
|
static java.lang.String |
nullSafeToString(int[] array)
Return a String representation of the contents of the specified array.
|
static java.lang.String |
nullSafeToString(long[] array)
Return a String representation of the contents of the specified array.
|
static java.lang.String |
nullSafeToString(java.lang.Object obj)
Return a String representation of the specified Object.
|
static java.lang.String |
nullSafeToString(java.lang.Object[] array)
Return a String representation of the contents of the specified array.
|
static java.lang.String |
nullSafeToString(short[] array)
Return a String representation of the contents of the specified array.
|
static java.lang.Object[] |
toObjectArray(java.lang.Object source)
Convert the given array (which may be a primitive array) to an
object array (if necessary of primitive wrapper objects).
|
static java.lang.Object |
unwrapOptional(java.lang.Object obj)
Unwrap the given object which is potentially a
Optional. |
private static final int INITIAL_HASH
private static final int MULTIPLIER
private static final java.lang.String EMPTY_STRING
private static final java.lang.String NULL_STRING
private static final java.lang.String ARRAY_START
private static final java.lang.String ARRAY_END
private static final java.lang.String EMPTY_ARRAY
private static final java.lang.String ARRAY_ELEMENT_SEPARATOR
public static boolean isCheckedException(java.lang.Throwable ex)
ex - the throwable to checkException,
RuntimeException,
Errorpublic static boolean isCompatibleWithThrowsClause(java.lang.Throwable ex,
@Nullable
java.lang.Class<?>... declaredExceptions)
ex - the exception to checkdeclaredExceptions - the exception types declared in the throws clausepublic static boolean isArray(@Nullable java.lang.Object obj)
obj - the object to checkpublic static boolean isEmpty(@Nullable java.lang.Object[] array)
null or of zero length.array - the array to checkisEmpty(Object)public static boolean isEmpty(@Nullable java.lang.Object obj)
This method supports the following object types.
Optional: considered empty if Optional.empty()Array: considered empty if its length is zeroCharSequence: considered empty if its length is zeroCollection: 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 checktrue if the object is null or emptyOptional.isPresent(),
isEmpty(Object[]),
StringUtils.hasLength(CharSequence),
StringUtils.isEmpty(Object),
CollectionUtils.isEmpty(java.util.Collection),
CollectionUtils.isEmpty(java.util.Map)@Nullable public static java.lang.Object unwrapOptional(@Nullable java.lang.Object obj)
Optional.obj - the candidate objectOptional, null
if the Optional is empty, or simply the given object as-ispublic static boolean containsElement(@Nullable java.lang.Object[] array, java.lang.Object element)
array - the array to check (may be null,
in which case the return value will always be false)element - the element to check forpublic static boolean containsConstant(java.lang.Enum<?>[] enumValues,
java.lang.String constant)
enumValues - the enum values to check, typically the product of a call to MyEnum.values()constant - the constant name to find (must not be null or empty string)public static boolean containsConstant(java.lang.Enum<?>[] enumValues,
java.lang.String constant,
boolean caseSensitive)
enumValues - the enum values to check, typically the product of a call to MyEnum.values()constant - the constant name to find (must not be null or empty string)caseSensitive - whether case is significant in determining a matchpublic static <E extends java.lang.Enum<?>> E caseInsensitiveValueOf(E[] enumValues,
java.lang.String constant)
Enum.valueOf(Class, String).E - the concrete Enum typeenumValues - the array of all Enum constants in question, usually per Enum.values()constant - the constant to get the enum value ofjava.lang.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.public static <A,O extends A> A[] addObjectToArray(@Nullable A[] array, @Nullable O obj)
array - the array to append to (can be null)obj - the object to appendnull)public static java.lang.Object[] toObjectArray(@Nullable java.lang.Object source)
A null source value will be converted to an
empty Object array.
source - the (potentially primitive) arraynull)java.lang.IllegalArgumentException - if the parameter is not an arraypublic static boolean nullSafeEquals(@Nullable java.lang.Object o1, @Nullable java.lang.Object o2)
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 compareo2 - second Object to compareObject.equals(Object),
Arrays.equals(long[], long[])private static boolean arrayEquals(java.lang.Object o1,
java.lang.Object o2)
Arrays.equals, performing an equality
check based on the array elements rather than the array reference.o1 - first array to compareo2 - second array to comparenullSafeEquals(Object, Object),
Arrays.equals(long[], long[])public static int nullSafeHashCode(@Nullable java.lang.Object obj)
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.public static int nullSafeHashCode(@Nullable java.lang.Object[] array)
array is null, this method returns 0.public static int nullSafeHashCode(@Nullable boolean[] array)
array is null, this method returns 0.public static int nullSafeHashCode(@Nullable byte[] array)
array is null, this method returns 0.public static int nullSafeHashCode(@Nullable char[] array)
array is null, this method returns 0.public static int nullSafeHashCode(@Nullable double[] array)
array is null, this method returns 0.public static int nullSafeHashCode(@Nullable float[] array)
array is null, this method returns 0.public static int nullSafeHashCode(@Nullable int[] array)
array is null, this method returns 0.public static int nullSafeHashCode(@Nullable long[] array)
array is null, this method returns 0.public static int nullSafeHashCode(@Nullable short[] array)
array is null, this method returns 0.@Deprecated public static int hashCode(boolean bool)
Boolean.hashCode(boolean)}.@Deprecated public static int hashCode(double dbl)
Double.hashCode(double)}.@Deprecated public static int hashCode(float flt)
Float.hashCode(float)}.@Deprecated public static int hashCode(long lng)
Long.hashCode(long)}.public static java.lang.String identityToString(@Nullable java.lang.Object obj)
obj - the object (may be null)nullpublic static java.lang.String getIdentityHexString(java.lang.Object obj)
obj - the objectpublic static java.lang.String getDisplayString(@Nullable java.lang.Object obj)
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 forobjnullSafeToString(Object)public static java.lang.String nullSafeClassName(@Nullable java.lang.Object obj)
Returns "null" if obj is null.
obj - the object to introspect (may be null)public static java.lang.String nullSafeToString(@Nullable java.lang.Object obj)
Builds a String representation of the contents in case of an array.
Returns "null" if obj is null.
obj - the object to build a String representation forobjpublic static java.lang.String nullSafeToString(@Nullable java.lang.Object[] 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
"null" if array is null.
array - the array to build a String representation forarraypublic static java.lang.String nullSafeToString(@Nullable boolean[] 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
"null" if array is null.
array - the array to build a String representation forarraypublic static java.lang.String nullSafeToString(@Nullable byte[] 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
"null" if array is null.
array - the array to build a String representation forarraypublic static java.lang.String nullSafeToString(@Nullable char[] 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
"null" if array is null.
array - the array to build a String representation forarraypublic static java.lang.String nullSafeToString(@Nullable double[] 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
"null" if array is null.
array - the array to build a String representation forarraypublic static java.lang.String nullSafeToString(@Nullable float[] 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
"null" if array is null.
array - the array to build a String representation forarraypublic static java.lang.String nullSafeToString(@Nullable int[] 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
"null" if array is null.
array - the array to build a String representation forarraypublic static java.lang.String nullSafeToString(@Nullable long[] 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
"null" if array is null.
array - the array to build a String representation forarraypublic static java.lang.String nullSafeToString(@Nullable short[] 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
"null" if array is null.
array - the array to build a String representation forarray