public class ObjectUtils
extends java.lang.Object
Operations on Object.
This class tries to handle null input gracefully.
 An exception will generally not be thrown for a null input.
 Each method documents its behaviour in more detail.
#ThreadSafe#
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
ObjectUtils.Null
Class used as a null placeholder where  
null
 has another meaning. | 
| Modifier and Type | Field and Description | 
|---|---|
static ObjectUtils.Null | 
NULL
Singleton used as a  
null placeholder where
 null has another meaning. | 
| Constructor and Description | 
|---|
ObjectUtils()
ObjectUtils instances should NOT be constructed in
 standard programming. | 
| Modifier and Type | Method and Description | 
|---|---|
static boolean | 
allNotNull(java.lang.Object... values)
Checks if all values in the array are not  
nulls. | 
static boolean | 
anyNotNull(java.lang.Object... values)
Checks if any value in the given array is not  
null. | 
static <T> T | 
clone(T obj)
Clone an object. 
 | 
static <T> T | 
cloneIfPossible(T obj)
Clone an object if possible. 
 | 
static <T extends java.lang.Comparable<? super T>> | 
compare(T c1,
       T c2)
Null safe comparison of Comparables. 
 | 
static <T extends java.lang.Comparable<? super T>> | 
compare(T c1,
       T c2,
       boolean nullGreater)
Null safe comparison of Comparables. 
 | 
static byte | 
CONST_BYTE(int v)
This method returns the provided value unchanged. 
 | 
static short | 
CONST_SHORT(int v)
This method returns the provided value unchanged. 
 | 
static boolean | 
CONST(boolean v)
This method returns the provided value unchanged. 
 | 
static byte | 
CONST(byte v)
This method returns the provided value unchanged. 
 | 
static char | 
CONST(char v)
This method returns the provided value unchanged. 
 | 
static double | 
CONST(double v)
This method returns the provided value unchanged. 
 | 
static float | 
CONST(float v)
This method returns the provided value unchanged. 
 | 
static int | 
CONST(int v)
This method returns the provided value unchanged. 
 | 
static long | 
CONST(long v)
This method returns the provided value unchanged. 
 | 
static short | 
CONST(short v)
This method returns the provided value unchanged. 
 | 
static <T> T | 
CONST(T v)
This method returns the provided value unchanged. 
 | 
static <T> T | 
defaultIfNull(T object,
             T defaultValue)
Returns a default value if the object passed is  
null. | 
static boolean | 
equals(java.lang.Object object1,
      java.lang.Object object2)
Deprecated. 
 
this method has been replaced by  
java.util.Objects.equals(Object, Object) in Java 7 and will
 be removed from future releases. | 
static <T> T | 
firstNonNull(T... values)
Returns the first value in the array which is not  
null. | 
static int | 
hashCode(java.lang.Object obj)
Deprecated. 
 
this method has been replaced by  
java.util.Objects.hashCode(Object) in Java 7 and will be
 removed in future releases | 
static int | 
hashCodeMulti(java.lang.Object... objects)
Deprecated. 
 
this method has been replaced by  
java.util.Objects.hash(Object...) in Java 7 and will be
 removed in future releases. | 
static void | 
identityToString(java.lang.Appendable appendable,
                java.lang.Object object)
Appends the toString that would be produced by  
Object
 if a class did not override toString itself. | 
static java.lang.String | 
identityToString(java.lang.Object object)
Gets the toString that would be produced by  
Object
 if a class did not override toString itself. | 
static void | 
identityToString(StrBuilder builder,
                java.lang.Object object)
Deprecated. 
 
as of 3.6, because StrBuilder was moved to commons-text,
  use one of the other  
identityToString methods instead | 
static void | 
identityToString(java.lang.StringBuffer buffer,
                java.lang.Object object)
Appends the toString that would be produced by  
Object
 if a class did not override toString itself. | 
static void | 
identityToString(java.lang.StringBuilder builder,
                java.lang.Object object)
Appends the toString that would be produced by  
Object
 if a class did not override toString itself. | 
static boolean | 
isEmpty(java.lang.Object object)
Checks if an Object is empty or null. 
 | 
static boolean | 
isNotEmpty(java.lang.Object object)
Checks if an Object is not empty and not null. 
 | 
static <T extends java.lang.Comparable<? super T>> | 
max(T... values)
Null safe comparison of Comparables. 
 | 
static <T> T | 
median(java.util.Comparator<T> comparator,
      T... items)
Find the "best guess" middle value among comparables. 
 | 
static <T extends java.lang.Comparable<? super T>> | 
median(T... items)
Find the "best guess" middle value among comparables. 
 | 
static <T extends java.lang.Comparable<? super T>> | 
min(T... values)
Null safe comparison of Comparables. 
 | 
static <T> T | 
mode(T... items)
Find the most frequently occurring item. 
 | 
static boolean | 
notEqual(java.lang.Object object1,
        java.lang.Object object2)
Compares two objects for inequality, where either one or both
 objects may be  
null. | 
static java.lang.String | 
toString(java.lang.Object obj)
Deprecated. 
 
this method has been replaced by  
java.util.Objects.toString(Object) in Java 7 and will be
 removed in future releases. Note however that said method will return "null" for null references, while this
 method returns an empty String. To preserve behavior use java.util.Objects.toString(myObject, "") | 
static java.lang.String | 
toString(java.lang.Object obj,
        java.lang.String nullStr)
Deprecated. 
 
this method has been replaced by  
java.util.Objects.toString(Object, String) in Java 7 and
 will be removed in future releases. | 
public static final ObjectUtils.Null NULL
Singleton used as a null placeholder where
 null has another meaning.
For example, in a HashMap the
 HashMap.get(java.lang.Object) method returns
 null if the Map contains null or if there
 is no matching key. The Null placeholder can be used to
 distinguish between these two cases.
Another example is Hashtable, where null
 cannot be stored.
This instance is Serializable.
public ObjectUtils()
ObjectUtils instances should NOT be constructed in
 standard programming. Instead, the static methods on the class should
 be used, such as ObjectUtils.defaultIfNull("a","b");.
This constructor is public to permit tools that require a JavaBean instance to operate.
public static boolean isEmpty(java.lang.Object object)
Checks if an Object is empty or null.
The following types are supported:CharSequence: Considered empty if its length is zero.Array: Considered empty if its length is zero.Collection: Considered empty if it has zero elements.Map: Considered empty if it has zero key-value mappings.
 ObjectUtils.isEmpty(null)             = true
 ObjectUtils.isEmpty("")               = true
 ObjectUtils.isEmpty("ab")             = false
 ObjectUtils.isEmpty(new int[]{})      = true
 ObjectUtils.isEmpty(new int[]{1,2,3}) = false
 ObjectUtils.isEmpty(1234)             = false
 object - the Object to test, may be nulltrue if the object has a supported type and is empty or null,
 false otherwisepublic static boolean isNotEmpty(java.lang.Object object)
Checks if an Object is not empty and not null.
The following types are supported:CharSequence: Considered empty if its length is zero.Array: Considered empty if its length is zero.Collection: Considered empty if it has zero elements.Map: Considered empty if it has zero key-value mappings.
 ObjectUtils.isNotEmpty(null)             = false
 ObjectUtils.isNotEmpty("")               = false
 ObjectUtils.isNotEmpty("ab")             = true
 ObjectUtils.isNotEmpty(new int[]{})      = false
 ObjectUtils.isNotEmpty(new int[]{1,2,3}) = true
 ObjectUtils.isNotEmpty(1234)             = true
 object - the Object to test, may be nulltrue if the object has an unsupported type or is not empty
 and not null, false otherwisepublic static <T> T defaultIfNull(T object,
                                  T defaultValue)
Returns a default value if the object passed is null.
 ObjectUtils.defaultIfNull(null, null)      = null
 ObjectUtils.defaultIfNull(null, "")        = ""
 ObjectUtils.defaultIfNull(null, "zz")      = "zz"
 ObjectUtils.defaultIfNull("abc", *)        = "abc"
 ObjectUtils.defaultIfNull(Boolean.TRUE, *) = Boolean.TRUE
 T - the type of the objectobject - the Object to test, may be nulldefaultValue - the default value to return, may be nullobject if it is not null, defaultValue otherwise@SafeVarargs public static <T> T firstNonNull(T... values)
Returns the first value in the array which is not null.
 If all the values are null or the array is null
 or empty then null is returned.
 ObjectUtils.firstNonNull(null, null)      = null
 ObjectUtils.firstNonNull(null, "")        = ""
 ObjectUtils.firstNonNull(null, null, "")  = ""
 ObjectUtils.firstNonNull(null, "zz")      = "zz"
 ObjectUtils.firstNonNull("abc", *)        = "abc"
 ObjectUtils.firstNonNull(null, "xyz", *)  = "xyz"
 ObjectUtils.firstNonNull(Boolean.TRUE, *) = Boolean.TRUE
 ObjectUtils.firstNonNull()                = null
 T - the component type of the arrayvalues - the values to test, may be null or emptyvalues which is not null,
  or null if there are no non-null valuespublic static boolean anyNotNull(java.lang.Object... values)
null.
 
 If all the values are null or the array is null
 or empty then false is returned. Otherwise true is returned.
 
ObjectUtils.anyNotNull(*) = true ObjectUtils.anyNotNull(*, null) = true ObjectUtils.anyNotNull(null, *) = true ObjectUtils.anyNotNull(null, null, *, *) = true ObjectUtils.anyNotNull(null) = false ObjectUtils.anyNotNull(null, null) = false
values - the values to test, may be null or emptytrue if there is at least one non-null value in the array,
 false if all values in the array are nulls.
 If the array is null or empty false is also returned.public static boolean allNotNull(java.lang.Object... values)
nulls.
 
 If any value is null or the array is null then
 false is returned. If all elements in array are not
 null or the array is empty (contains no elements) true
 is returned.
 
ObjectUtils.allNotNull(*) = true ObjectUtils.allNotNull(*, *) = true ObjectUtils.allNotNull(null) = false ObjectUtils.allNotNull(null, null) = false ObjectUtils.allNotNull(null, *) = false ObjectUtils.allNotNull(*, null) = false ObjectUtils.allNotNull(*, *, null, *) = false
values - the values to test, may be null or emptyfalse if there is at least one null value in the array or the array is null,
 true if all values in the array are not nulls or array contains no elements.@Deprecated
public static boolean equals(java.lang.Object object1,
                                         java.lang.Object object2)
java.util.Objects.equals(Object, Object) in Java 7 and will
 be removed from future releases.Compares two objects for equality, where either one or both
 objects may be null.
 ObjectUtils.equals(null, null)                  = true
 ObjectUtils.equals(null, "")                    = false
 ObjectUtils.equals("", null)                    = false
 ObjectUtils.equals("", "")                      = true
 ObjectUtils.equals(Boolean.TRUE, null)          = false
 ObjectUtils.equals(Boolean.TRUE, "true")        = false
 ObjectUtils.equals(Boolean.TRUE, Boolean.TRUE)  = true
 ObjectUtils.equals(Boolean.TRUE, Boolean.FALSE) = false
 object1 - the first object, may be nullobject2 - the second object, may be nulltrue if the values of both objects are the samepublic static boolean notEqual(java.lang.Object object1,
                               java.lang.Object object2)
Compares two objects for inequality, where either one or both
 objects may be null.
 ObjectUtils.notEqual(null, null)                  = false
 ObjectUtils.notEqual(null, "")                    = true
 ObjectUtils.notEqual("", null)                    = true
 ObjectUtils.notEqual("", "")                      = false
 ObjectUtils.notEqual(Boolean.TRUE, null)          = true
 ObjectUtils.notEqual(Boolean.TRUE, "true")        = true
 ObjectUtils.notEqual(Boolean.TRUE, Boolean.TRUE)  = false
 ObjectUtils.notEqual(Boolean.TRUE, Boolean.FALSE) = true
 object1 - the first object, may be nullobject2 - the second object, may be nullfalse if the values of both objects are the same@Deprecated public static int hashCode(java.lang.Object obj)
java.util.Objects.hashCode(Object) in Java 7 and will be
 removed in future releasesGets the hash code of an object returning zero when the
 object is null.
ObjectUtils.hashCode(null) = 0 ObjectUtils.hashCode(obj) = obj.hashCode()
obj - the object to obtain the hash code of, may be null@Deprecated public static int hashCodeMulti(java.lang.Object... objects)
java.util.Objects.hash(Object...) in Java 7 and will be
 removed in future releases.Gets the hash code for multiple objects.
This allows a hash code to be rapidly calculated for a number of objects.
 The hash code for a single object is the not same as hashCode(Object).
 The hash code for multiple objects is the same as that calculated by an
 ArrayList containing the specified objects.
ObjectUtils.hashCodeMulti() = 1 ObjectUtils.hashCodeMulti((Object[]) null) = 1 ObjectUtils.hashCodeMulti(a) = 31 + a.hashCode() ObjectUtils.hashCodeMulti(a,b) = (31 + a.hashCode()) * 31 + b.hashCode() ObjectUtils.hashCodeMulti(a,b,c) = ((31 + a.hashCode()) * 31 + b.hashCode()) * 31 + c.hashCode()
objects - the objects to obtain the hash code of, may be nullpublic static java.lang.String identityToString(java.lang.Object object)
Gets the toString that would be produced by Object
 if a class did not override toString itself. null
 will return null.
 ObjectUtils.identityToString(null)         = null
 ObjectUtils.identityToString("")           = "java.lang.String@1e23"
 ObjectUtils.identityToString(Boolean.TRUE) = "java.lang.Boolean@7fa"
 object - the object to create a toString for, may be
  nullnull if
  null passed inpublic static void identityToString(java.lang.Appendable appendable,
                                    java.lang.Object object)
                             throws java.io.IOException
Appends the toString that would be produced by Object
 if a class did not override toString itself. null
 will throw a NullPointerException for either of the two parameters. 
 ObjectUtils.identityToString(appendable, "")            = appendable.append("java.lang.String@1e23"
 ObjectUtils.identityToString(appendable, Boolean.TRUE)  = appendable.append("java.lang.Boolean@7fa"
 ObjectUtils.identityToString(appendable, Boolean.TRUE)  = appendable.append("java.lang.Boolean@7fa")
 appendable - the appendable to append toobject - the object to create a toString forjava.io.IOException - if an I/O error occurs@Deprecated public static void identityToString(StrBuilder builder, java.lang.Object object)
identityToString methods insteadAppends the toString that would be produced by Object
 if a class did not override toString itself. null
 will throw a NullPointerException for either of the two parameters. 
 ObjectUtils.identityToString(builder, "")            = builder.append("java.lang.String@1e23"
 ObjectUtils.identityToString(builder, Boolean.TRUE)  = builder.append("java.lang.Boolean@7fa"
 ObjectUtils.identityToString(builder, Boolean.TRUE)  = builder.append("java.lang.Boolean@7fa")
 builder - the builder to append toobject - the object to create a toString forpublic static void identityToString(java.lang.StringBuffer buffer,
                                    java.lang.Object object)
Appends the toString that would be produced by Object
 if a class did not override toString itself. null
 will throw a NullPointerException for either of the two parameters. 
 ObjectUtils.identityToString(buf, "")            = buf.append("java.lang.String@1e23"
 ObjectUtils.identityToString(buf, Boolean.TRUE)  = buf.append("java.lang.Boolean@7fa"
 ObjectUtils.identityToString(buf, Boolean.TRUE)  = buf.append("java.lang.Boolean@7fa")
 buffer - the buffer to append toobject - the object to create a toString forpublic static void identityToString(java.lang.StringBuilder builder,
                                    java.lang.Object object)
Appends the toString that would be produced by Object
 if a class did not override toString itself. null
 will throw a NullPointerException for either of the two parameters. 
 ObjectUtils.identityToString(builder, "")            = builder.append("java.lang.String@1e23"
 ObjectUtils.identityToString(builder, Boolean.TRUE)  = builder.append("java.lang.Boolean@7fa"
 ObjectUtils.identityToString(builder, Boolean.TRUE)  = builder.append("java.lang.Boolean@7fa")
 builder - the builder to append toobject - the object to create a toString for@Deprecated public static java.lang.String toString(java.lang.Object obj)
java.util.Objects.toString(Object) in Java 7 and will be
 removed in future releases. Note however that said method will return "null" for null references, while this
 method returns an empty String. To preserve behavior use java.util.Objects.toString(myObject, "")Gets the toString of an Object returning
 an empty string ("") if null input.
 ObjectUtils.toString(null)         = ""
 ObjectUtils.toString("")           = ""
 ObjectUtils.toString("bat")        = "bat"
 ObjectUtils.toString(Boolean.TRUE) = "true"
 obj - the Object to toString, may be null"" if null inputStringUtils.defaultString(String), 
String.valueOf(Object)@Deprecated
public static java.lang.String toString(java.lang.Object obj,
                                                    java.lang.String nullStr)
java.util.Objects.toString(Object, String) in Java 7 and
 will be removed in future releases.Gets the toString of an Object returning
 a specified text if null input.
 ObjectUtils.toString(null, null)           = null
 ObjectUtils.toString(null, "null")         = "null"
 ObjectUtils.toString("", "null")           = ""
 ObjectUtils.toString("bat", "null")        = "bat"
 ObjectUtils.toString(Boolean.TRUE, "null") = "true"
 obj - the Object to toString, may be nullnullStr - the String to return if null input, may be nullnullStr if null inputStringUtils.defaultString(String,String), 
String.valueOf(Object)@SafeVarargs public static <T extends java.lang.Comparable<? super T>> T min(T... values)
Null safe comparison of Comparables.
T - type of the values processed by this methodvalues - the set of comparable values, may be null@SafeVarargs public static <T extends java.lang.Comparable<? super T>> T max(T... values)
Null safe comparison of Comparables.
T - type of the values processed by this methodvalues - the set of comparable values, may be nullpublic static <T extends java.lang.Comparable<? super T>> int compare(T c1,
                                                                      T c2)
Null safe comparison of Comparables.
 null is assumed to be less than a non-null value.
T - type of the values processed by this methodc1 - the first comparable, may be nullc2 - the second comparable, may be nullpublic static <T extends java.lang.Comparable<? super T>> int compare(T c1,
                                                                      T c2,
                                                                      boolean nullGreater)
Null safe comparison of Comparables.
T - type of the values processed by this methodc1 - the first comparable, may be nullc2 - the second comparable, may be nullnullGreater - if true null is considered greater
  than a non-null value or if false null is
  considered less than a Non-null valueComparator.compare(Object, Object)@SafeVarargs public static <T extends java.lang.Comparable<? super T>> T median(T... items)
T - type of values processed by this methoditems - to comparejava.lang.NullPointerException - if items is nulljava.lang.IllegalArgumentException - if items is empty or contains null values@SafeVarargs
public static <T> T median(java.util.Comparator<T> comparator,
                                        T... items)
T - type of values processed by this methodcomparator - to use for comparisonsitems - to comparejava.lang.NullPointerException - if items or comparator is nulljava.lang.IllegalArgumentException - if items is empty or contains null values@SafeVarargs public static <T> T mode(T... items)
T - type of values processed by this methoditems - to checknull if non-unique or no items suppliedpublic static <T> T clone(T obj)
Clone an object.
T - the type of the objectobj - the object to clone, null returns nullCloneable otherwise nullCloneFailedException - if the object is cloneable and the clone operation failspublic static <T> T cloneIfPossible(T obj)
Clone an object if possible.
This method is similar to clone(Object), but will return the provided
 instance as the return value instead of null if the instance
 is not cloneable. This is more convenient if the caller uses different
 implementations (e.g. of a service) and some of the implementations do not allow concurrent
 processing or have state. In such cases the implementation can simply provide a proper
 clone implementation and the caller's code does not have to change.
T - the type of the objectobj - the object to clone, null returns nullCloneable otherwise the object itselfCloneFailedException - if the object is cloneable and the clone operation failspublic static boolean CONST(boolean v)
     public final static boolean MAGIC_FLAG = ObjectUtils.CONST(true);
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the boolean value to returnpublic static byte CONST(byte v)
     public final static byte MAGIC_BYTE = ObjectUtils.CONST((byte) 127);
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the byte value to returnpublic static byte CONST_BYTE(int v)
     public final static byte MAGIC_BYTE = ObjectUtils.CONST_BYTE(127);
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the byte literal (as an int) value to returnjava.lang.IllegalArgumentException - if the value passed to v
         is larger than a byte, that is, smaller than -128 or
         larger than 127.public static char CONST(char v)
     public final static char MAGIC_CHAR = ObjectUtils.CONST('a');
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the char value to returnpublic static short CONST(short v)
     public final static short MAGIC_SHORT = ObjectUtils.CONST((short) 123);
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the short value to returnpublic static short CONST_SHORT(int v)
     public final static short MAGIC_SHORT = ObjectUtils.CONST_SHORT(127);
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the short literal (as an int) value to returnjava.lang.IllegalArgumentException - if the value passed to v
         is larger than a short, that is, smaller than -32768 or
         larger than 32767.public static int CONST(int v)
     public final static int MAGIC_INT = ObjectUtils.CONST(123);
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the int value to returnpublic static long CONST(long v)
     public final static long MAGIC_LONG = ObjectUtils.CONST(123L);
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the long value to returnpublic static float CONST(float v)
     public final static float MAGIC_FLOAT = ObjectUtils.CONST(1.0f);
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the float value to returnpublic static double CONST(double v)
     public final static double MAGIC_DOUBLE = ObjectUtils.CONST(1.0);
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.v - the double value to returnpublic static <T> T CONST(T v)
     public final static String MAGIC_STRING = ObjectUtils.CONST("abc");
 
 This way any jars that refer to this field do not
 have to recompile themselves if the field's value
 changes at some future date.T - the Object typev - the genericized Object value to return (typically a String).Copyright © 2007-2020 Whitestein Technologies. All Rights Reserved.