|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.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 type
public 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 | |||||||||