Class MoreObjects


  • public final class MoreObjects
    extends Object
    Helper functions that can operate on any Object.

    See the Guava User Guide on writing Object methods with Objects.

    Imported from com.google.guava:17.0 Objects

    Author:
    Laurence Gonsalves
    • Method Detail

      • toStringHelper

        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{}"
           Objects.toStringHelper(this)
               .toString();
         <p>
           // Returns "ClassName{x=1}"
           Objects.toStringHelper(this)
               .add("x", 1)
               .toString();
         <p>
           // Returns "MyObject{x=1}"
           Objects.toStringHelper("MyObject")
               .add("x", 1)
               .toString();
         <p>
           // Returns "ClassName{x=1, y=foo}"
           Objects.toStringHelper(this)
               .add("x", 1)
               .add("y", "foo")
               .toString();
         <p>
           // Returns "ClassName{x=1}"
           Objects.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 (typically this), used only for its class name
        Since:
        2.0
      • firstNonNull

        public 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.
        Returns:
        first if first is not null, or second if first is null and second is not null
        Throws:
        NullPointerException - if both first and second were null
        Since:
        3.0