Class MoreObjects
java.lang.Object
com.google.common.base.MoreObjects
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.
- Since:
- 18.0 (since 2.0 as
Objects) - Author:
- Laurence Gonsalves
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> TfirstNonNull(@Nullable T first, @Nullable T second) Returns the first of two given parameters that is notnull, if either is, or otherwise throws aNullPointerException.static MoreObjects.ToStringHelpertoStringHelper(Class<?> clazz) Creates an instance ofMoreObjects.ToStringHelperin the same manner astoStringHelper(Object), but using the simple name ofclazzinstead of using an instance'sObject.getClass().static MoreObjects.ToStringHelpertoStringHelper(Object self) Creates an instance ofMoreObjects.ToStringHelper.static MoreObjects.ToStringHelpertoStringHelper(String className) Creates an instance ofMoreObjects.ToStringHelperin the same manner astoStringHelper(Object), but usingclassNameinstead of using an instance'sObject.getClass().
-
Method Details
-
firstNonNull
Returns the first of two given parameters that is notnull, if either is, or otherwise throws aNullPointerException.To find the first non-null element in an iterable, use
Iterables.find(iterable, Predicates.notNull()). For varargs, useIterables.find(Arrays.asList(a, b, c, ...), Predicates.notNull()), static importing as necessary.Note: if
firstis represented as anOptional, this can be accomplished withfirst.or(second). That approach also allows for lazy evaluation of the fallback instance, usingfirst.or(supplier).Java 9 users: use
java.util.Objects.requireNonNullElse(first, second)instead.- Returns:
firstif it is non-null; otherwisesecondif it is non-null- Throws:
NullPointerException- if bothfirstandsecondare null- Since:
- 18.0 (since 3.0 as
Objects.firstNonNull()).
-
toStringHelper
Creates an instance ofMoreObjects.ToStringHelper.This is helpful for implementing
Object.toString(). 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.
- Parameters:
self- the object to generate the string for (typicallythis), used only for its class name- Since:
- 18.0 (since 2.0 as
Objects.toStringHelper()).
-
toStringHelper
Creates an instance ofMoreObjects.ToStringHelperin the same manner astoStringHelper(Object), but using the simple name ofclazzinstead of using an instance'sObject.getClass().Note that in GWT, class names are often obfuscated.
- Parameters:
clazz- theClassof the instance- Since:
- 18.0 (since 7.0 as
Objects.toStringHelper()).
-
toStringHelper
Creates an instance ofMoreObjects.ToStringHelperin the same manner astoStringHelper(Object), but usingclassNameinstead of using an instance'sObject.getClass().- Parameters:
className- the name of the instance type- Since:
- 18.0 (since 7.0 as
Objects.toStringHelper()).
-