public abstract class ObjectUtils extends Object
Mainly for internal use within the framework.
Thanks to Alex Ruiz for contributing several enhancements to this class!
ClassUtils,
CollectionUtils,
StringUtils| 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.
|
static <E extends Enum<?>> |
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)
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 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. |
public static boolean isCheckedException(Throwable ex)
ex - the throwable to checkException,
RuntimeException,
Errorpublic static boolean isCompatibleWithThrowsClause(Throwable ex, @Nullable Class<?>... declaredExceptions)
ex - the exception to checkdeclaredExceptions - the exception types declared in the throws clausepublic static boolean isArray(@Nullable Object obj)
obj - the object to checkpublic static boolean isEmpty(@Nullable Object[] array)
null or of zero length.array - the array to checkisEmpty(Object)public static boolean isEmpty(@Nullable 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 Object unwrapOptional(@Nullable Object obj)
Optional.obj - the candidate objectOptional, null
if the Optional is empty, or simply the given object as-ispublic static boolean containsElement(@Nullable Object[] array, 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(Enum<?>[] enumValues, String constant)
enumValues - the enum values to check, typically obtained via MyEnum.values()constant - the constant name to find (must not be null or empty string)public static boolean containsConstant(Enum<?>[] enumValues, String constant, boolean caseSensitive)
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 matchpublic static <E extends Enum<?>> E caseInsensitiveValueOf(E[] enumValues, 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 ofIllegalArgumentException - 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 Object[] toObjectArray(@Nullable Object source)
A null source value will be converted to an
empty Object array.
source - the (potentially primitive) arraynull)IllegalArgumentException - if the parameter is not an arraypublic static boolean nullSafeEquals(@Nullable Object o1, @Nullable 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[])public static int nullSafeHashCode(@Nullable 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 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 String identityToString(@Nullable Object obj)
obj - the object (may be null)nullpublic static String getIdentityHexString(Object obj)
obj - the objectpublic static String getDisplayString(@Nullable 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 String nullSafeClassName(@Nullable Object obj)
Returns a "null" String if obj is null.
obj - the object to introspect (may be null)public static String nullSafeToString(@Nullable Object obj)
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 forobjpublic static String nullSafeToString(@Nullable 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 a "null" String if array is null.
array - the array to build a String representation forarraypublic static 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 a "null" String if array is null.
array - the array to build a String representation forarraypublic static 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 a "null" String if array is null.
array - the array to build a String representation forarraypublic static 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 a "null" String if array is null.
array - the array to build a String representation forarraypublic static 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 a "null" String if array is null.
array - the array to build a String representation forarraypublic static 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 a "null" String if array is null.
array - the array to build a String representation forarraypublic static 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 a "null" String if array is null.
array - the array to build a String representation forarraypublic static 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 a "null" String if array is null.
array - the array to build a String representation forarraypublic static 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 a "null" String if array is null.
array - the array to build a String representation forarray