|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.common.base.Objects
@GwtCompatible public final class Objects
Helper functions that can operate on any Object
.
Nested Class Summary | |
---|---|
static class |
Objects.ToStringHelper
Support class for toStringHelper(java.lang.Object) . |
Method Summary | ||
---|---|---|
static boolean |
equal(Object a,
Object b)
Determines whether two possibly-null objects are equal. |
|
static
|
firstNonNull(T first,
T second)
Returns the first of two given parameters that is not null , if
either is, or otherwise throws a NullPointerException . |
|
static int |
hashCode(Object... objects)
Generates a hash code for multiple values. |
|
static Objects.ToStringHelper |
toStringHelper(Class<?> clazz)
Creates an instance of Objects.ToStringHelper in the same manner as
toStringHelper(Object) , but using the name of clazz
instead of using an instance's Object.getClass() . |
|
static Objects.ToStringHelper |
toStringHelper(Object self)
Creates an instance of Objects.ToStringHelper . |
|
static Objects.ToStringHelper |
toStringHelper(String className)
Creates an instance of Objects.ToStringHelper in the same manner as
toStringHelper(Object) , but using className instead
of using an instance's Object.getClass() . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static boolean equal(@Nullable Object a, @Nullable Object b)
true
if a
and b
are both null.
true
if a
and b
are both non-null and they are
equal according to Object.equals(Object)
.
false
in all other situations.
This assumes that any non-null objects passed to this function conform
to the equals()
contract.
public static int hashCode(@Nullable Object... objects)
Arrays.hashCode(Object[])
.
This is useful for implementing Object.hashCode()
. For example,
in an object that has three properties, x
, y
, and
z
, one could write:
public int hashCode() { return Objects.hashCode(getX(), getY(), getZ()); }Warning: When a single object is supplied, the returned hash code does not equal the hash code of that object.
public static Objects.ToStringHelper toStringHelper(Object self)
Objects.ToStringHelper
.
This is helpful for implementing Object.toString()
.
Specification by example:
// Returns "ClassName{}"
Objects.toStringHelper(this)
.toString();
// Returns "ClassName{x=1}"
Objects.toStringHelper(this)
.add("x", 1)
.toString();
// Returns "MyObject{x=1}"
Objects.toStringHelper("MyObject")
.add("x", 1)
.toString();
// Returns "ClassName{x=1, y=foo}"
Objects.toStringHelper(this)
.add("x", 1)
.add("y", "foo")
.toString();
}
Note that in GWT, class names are often obfuscated.
self
- the object to generate the string for (typically this
),
used only for its class namepublic static Objects.ToStringHelper toStringHelper(Class<?> clazz)
Objects.ToStringHelper
in the same manner as
toStringHelper(Object)
, but using the name of clazz
instead of using an instance's Object.getClass()
.
Note that in GWT, class names are often obfuscated.
clazz
- the Class
of the instancepublic static Objects.ToStringHelper toStringHelper(String className)
Objects.ToStringHelper
in the same manner as
toStringHelper(Object)
, but using className
instead
of using an instance's Object.getClass()
.
className
- the name of the instance typepublic static <T> T firstNonNull(@Nullable T first, @Nullable T second)
null
, if
either is, or otherwise throws a NullPointerException
.
Note: if first
is represented as an Optional<T>
,
this can be accomplished with first.or(second)
. That approach also
allows for lazy evaluation of the fallback instance, using
first.or(Supplier)
.
first
if first
is not null
, or
second
if first
is null
and second
is
not null
NullPointerException
- if both first
and second
were
null
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |