@GwtCompatible public final class MoreObjects extends Object
Helper functions that operate on any 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.ToStringHelper
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 |
toStringHelper(Class<?> clazz)
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.getClass() . |
static MoreObjects.ToStringHelper |
toStringHelper(Object self)
Creates an instance of
MoreObjects.ToStringHelper . |
static MoreObjects.ToStringHelper |
toStringHelper(String className)
Creates an instance of
MoreObjects.ToStringHelper in the same manner as toStringHelper(Object) , but using className instead of using an instance’s Object.getClass() . |
@CheckReturnValue public static <T> T firstNonNull(@Nullable T first, @Nullable T second)
Returns the first of two given parameters that is not 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-nullNullPointerException
- if both first
and second
are nullObjects.firstNonNull()
).@CheckReturnValue public static MoreObjects.ToStringHelper toStringHelper(Object self)
Creates an instance of MoreObjects.ToStringHelper
.
This is helpful for implementing Object.toString()
. Specification by example:
// Returns "ClassName{}" MoreObjects.toStringHelper(this) .toString();</p>
<p>// Returns “ClassName{x=1}” MoreObjects.toStringHelper(this) .add(“x”, 1) .toString();</p>
<p>// Returns “MyObject{x=1}” MoreObjects.toStringHelper(“MyObject”) .add(“x”, 1) .toString();</p>
<p>// Returns “ClassName{x=1, y=foo}” MoreObjects.toStringHelper(this) .add(“x”, 1) .add(“y”, “foo”) .toString();</p>
<p>// 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 nameObjects.toStringHelper()
).@CheckReturnValue public static MoreObjects.ToStringHelper toStringHelper(Class<?> clazz)
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.getClass()
.
Note that in GWT, class names are often obfuscated.
clazz
- the Class
of the instanceObjects.toStringHelper()
).@CheckReturnValue public static MoreObjects.ToStringHelper toStringHelper(String className)
Creates an instance of 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 typeObjects.toStringHelper()
).