@GwtCompatible public final class MoreObjects extends Object
Object
, and are not already provided in
Objects
.
See the Guava User Guide on writing Object
methods with MoreObjects
.
Objects
)
Modifier and Type | Class and Description |
---|---|
static class |
MoreObjects
Support class for
toStringHelper(java.lang.Object) .
|
Modifier and Type | Method and Description |
---|---|
static <T> T |
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 MoreObjects |
toStringHelper(Class
Creates an instance of
MoreObjects.ToStringHelper in the same manner as
toStringHelper(Object) , but using the simple name of
clazz instead of using an instance's
Object .
|
static MoreObjects |
toStringHelper(Object
Creates an instance of
MoreObjects.ToStringHelper .
|
static MoreObjects |
toStringHelper(String
Creates an instance of
MoreObjects.ToStringHelper in the same manner as
toStringHelper(Object) , but using
className instead of using an instance's
Object .
|
public static <T> T firstNonNull(T first, T second)
null
, if either is, or otherwise throws a
NullPointerException
.
Note: if first
is represented as an Optional
, 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 it is non-null; otherwise
second
if it is non-null
NullPointerException
- if both
first
and
second
are null
Objects.firstNonNull()
).
public static MoreObjects.ToStringHelper toStringHelper(Object self)
MoreObjects.ToStringHelper
.
This is helpful for implementing Object
. Specification by example:
// Returns "ClassName{}" MoreObjects.toStringHelper(this) .toString(); // Returns "ClassName{x=1}" MoreObjects.toStringHelper(this) .add("x", 1) .toString(); // Returns "MyObject{x=1}" MoreObjects.toStringHelper("MyObject") .add("x", 1) .toString(); // Returns "ClassName{x=1, y=foo}" MoreObjects.toStringHelper(this) .add("x", 1) .add("y", "foo") .toString(); // Returns "ClassName{x=1}" MoreObjects.toStringHelper(this) .omitNullValues() .add("x", 1) .add("y", null) .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 name
Objects.toStringHelper()
).
public static MoreObjects.ToStringHelper toStringHelper(Class <?> clazz)
MoreObjects.ToStringHelper
in the same manner as
toStringHelper(Object)
, but using the simple 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 instance
Objects.toStringHelper()
).
public static MoreObjects.ToStringHelper toStringHelper(String className)
MoreObjects.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
Objects.toStringHelper()
).