Package com.google.common.base
Class MoreObjects
- java.lang.Object
-
- com.google.common.base.MoreObjects
-
@GwtCompatible public final class MoreObjects extends java.lang.Object
Helper functions that operate on anyObject, and are not already provided inObjects.See the Guava User Guide on writing
Objectmethods withMoreObjects.- Since:
- 18.0 (since 2.0 as
Objects) - Author:
- Laurence Gonsalves
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMoreObjects.ToStringHelperSupport class fortoStringHelper(java.lang.Object).
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> TfirstNonNull(T first, T second)Returns the first of two given parameters that is notnull, if either is, or otherwise throws aNullPointerException.static MoreObjects.ToStringHelpertoStringHelper(java.lang.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(java.lang.Object self)Creates an instance ofMoreObjects.ToStringHelper.static MoreObjects.ToStringHelpertoStringHelper(java.lang.String className)Creates an instance ofMoreObjects.ToStringHelperin the same manner astoStringHelper(Object), but usingclassNameinstead of using an instance'sObject.getClass().
-
-
-
Method Detail
-
firstNonNull
public static <T> T firstNonNull(@CheckForNull T first, @CheckForNull T second)
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:
java.lang.NullPointerException- if bothfirstandsecondare null- Since:
- 18.0 (since 3.0 as
Objects.firstNonNull()).
-
toStringHelper
public static MoreObjects.ToStringHelper toStringHelper(java.lang.Object self)
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
public static MoreObjects.ToStringHelper toStringHelper(java.lang.Class<?> clazz)
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
public static MoreObjects.ToStringHelper toStringHelper(java.lang.String className)
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()).
-
-