# Class Objects

java.lang.Object
com.codename1.compat.java.util.Objects

public final class Objects extends Object

This is a compatibility class which supports the java.util.Objects API. On platforms that don't support this class (e.g. Android) the build server will automatically remap all uses of java.util.Objects to use this implementation instead.

This class consists of static utility methods for operating on objects. These utilities include null-safe or null-tolerant methods for computing the hash code of an object, returning a string for an object, and comparing two objects.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static <T> int`
  `compare(T a, T b, Comparator<? super T> c)`
  `static boolean`
  `deepEquals(Object a, Object b)`
  `static boolean`
  `equals(Object a, Object b)`
  Returns true if the arguments are equal to each other and false otherwise.
  `static int`
  `hash(Object... values)`
  `static int`
  `hashCode(Object o)`
  Returns the hash code of a non-null argument and 0 for a null argument.
  `static boolean`
  `nonNull(Object obj)`
  `static <T> T`
  `requireNonNull(T obj)`
  `static <T> T`
  `requireNonNull(T obj, String message)`
  `static String`
  `toString(Object o)`
  `static String`
  `toString(Object o, String nullDefault)`

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

- ## Method Details

  - ### equals

    public static boolean equals(Object a, Object b)

    Returns true if the arguments are equal to each other and false otherwise. Consequently, if both arguments are null, true is returned and if exactly one argument is null, false is returned. Otherwise, equality is determined by using the equals method of the first argument.

    ###### Parameters

    - `a`

    - `b`

  - ### hashCode

    public static int hashCode(Object o)

    Returns the hash code of a non-null argument and 0 for a null argument.

    ###### Parameters

    - `o`

  - ### toString

    public static String toString(Object o)

  - ### toString

    public static String toString(Object o, String nullDefault)

  - ### compare

    public static <T> int compare(T a, T b, Comparator<? super T> c)

  - ### requireNonNull

    public static <T> T requireNonNull(T obj)

  - ### requireNonNull

    public static <T> T requireNonNull(T obj, String message)

  - ### nonNull

    public static boolean nonNull(Object obj)

  - ### deepEquals

    public static boolean deepEquals(Object a, Object b)

  - ### hash

    public static int hash(Object... values)