com.google.common.base
Class Objects

java.lang.Object
  extended by com.google.common.base.Objects

public final class Objects
extends Object

Helper functions that can operate on any Object.

Author:
Laurence Gonsalves

Method Summary
static boolean equal(Object a, Object b)
          Determines whether two possibly-null objects are equal.
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 int hashCode(Object... objects)
          Generates a hash code for multiple values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

equal

public static boolean equal(@Nullable
                            Object a,
                            @Nullable
                            Object b)
Determines whether two possibly-null objects are equal. Returns:

This assumes that any non-null objects passed to this function conform to the equals() contract.


hashCode

public static int hashCode(Object... objects)
Generates a hash code for multiple values. The hash code is generated by calling Arrays.hashCode(Object[]).

This is useful for implementing Object.hashCode(). For example, in an object that has three properties, x, y, and z, one could write:

 public int hashCode() {
   return Objects.hashCode(getX(), getY(), getZ());
 }
Warning: When a single object is supplied, the returned hash code does not equal the hash code of that object.


firstNonNull

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.

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