# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Methods | Inherited Methods

# Objects

`public final class Objects`
`extends Object` ``

java.lang.Object
↳ | java.util.Objects

This class consists of `static` utility methods for operating on objects, or checking certain conditions before operation. These utilities include `null`-safe or `null`-tolerant methods for computing the hash code of an object, returning a string for an object, comparing two objects, and checking if indexes or sub-range values are out-of-bounds.

## Summary

### Public methods
`static int` | `checkFromIndexSize(int fromIndex, int size, int length)` Checks if the sub-range from `fromIndex` (inclusive) to `fromIndex + size` (exclusive) is within the bounds of range from `0` (inclusive) to `length` (exclusive).
`static int` | `checkFromToIndex(int fromIndex, int toIndex, int length)` Checks if the sub-range from `fromIndex` (inclusive) to `toIndex` (exclusive) is within the bounds of range from `0` (inclusive) to `length` (exclusive).
`static int` | `checkIndex(int index, int length)` Checks if the `index` is within the bounds of the range from `0` (inclusive) to `length` (exclusive).
`static <T> int` | `compare(T a, T b, Comparator<? super T> c)` Returns 0 if the arguments are identical and `c.compare(a, b)` otherwise.
`static boolean` | `deepEquals(Object a, Object b)` Returns `true` if the arguments are deeply equal to each other and `false` otherwise.
`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)` Generates a hash code for a sequence of input values.
`static int` | `hashCode(Object o)` Returns the hash code of a non-`null` argument and 0 for a `null` argument.
`static boolean` | `isNull(Object obj)` Returns `true` if the provided reference is `null` otherwise returns `false`.
`static boolean` | `nonNull(Object obj)` Returns `true` if the provided reference is non-`null` otherwise returns `false`.
`static <T> T` | `requireNonNull(T obj, String message)` Checks that the specified object reference is not `null` and throws a customized `NullPointerException` if it is.
`static <T> T` | `requireNonNull(T obj, Supplier<String> messageSupplier)` Checks that the specified object reference is not `null` and throws a customized `NullPointerException` if it is.
`static <T> T` | `requireNonNull(T obj)` Checks that the specified object reference is not `null`.
`static <T> T` | `requireNonNullElse(T obj, T defaultObj)` Returns the first argument if it is non-`null` and otherwise returns the non-`null` second argument.
`static <T> T` | `requireNonNullElseGet(T obj, Supplier<? extends T> supplier)` Returns the first argument if it is non-`null` and otherwise returns the non-`null` value of `supplier.get()`.
`static String` | `toString(Object o)` Returns the result of calling `toString` for a non-`null` argument and `"null"` for a `null` argument.
`static String` | `toString(Object o, String nullDefault)` Returns the result of calling `toString` on the first argument if the first argument is not `null` and returns the second argument otherwise.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `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(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Public methods

### checkFromIndexSize

    public static int checkFromIndexSize (int fromIndex,
                    int size,
                    int length)

Checks if the sub-range from `fromIndex` (inclusive) to `fromIndex + size` (exclusive) is within the bounds of range from `0` (inclusive) to `length` (exclusive).

The sub-range is defined to be out-of-bounds if any of the following inequalities is true:

- `fromIndex < 0`
- `size < 0`
- `fromIndex + size > length`, taking into account integer overflow
- `length < 0`, which is implied from the former inequalities

Parameters
`fromIndex` | `int`: the lower-bound (inclusive) of the sub-interval
`size` | `int`: the size of the sub-range
`length` | `int`: the upper-bound (exclusive) of the range

Returns
`int` | `fromIndex` if the sub-range within bounds of the range

Throws
`IndexOutOfBoundsException` | if the sub-range is out-of-bounds

### checkFromToIndex

    public static int checkFromToIndex (int fromIndex,
                    int toIndex,
                    int length)

Checks if the sub-range from `fromIndex` (inclusive) to `toIndex` (exclusive) is within the bounds of range from `0` (inclusive) to `length` (exclusive).

The sub-range is defined to be out-of-bounds if any of the following inequalities is true:

- `fromIndex < 0`
- `fromIndex > toIndex`
- `toIndex > length`
- `length < 0`, which is implied from the former inequalities

Parameters
`fromIndex` | `int`: the lower-bound (inclusive) of the sub-range
`toIndex` | `int`: the upper-bound (exclusive) of the sub-range
`length` | `int`: the upper-bound (exclusive) the range

Returns
`int` | `fromIndex` if the sub-range within bounds of the range

Throws
`IndexOutOfBoundsException` | if the sub-range is out-of-bounds

### checkIndex

    public static int checkIndex (int index,
                    int length)

Checks if the `index` is within the bounds of the range from `0` (inclusive) to `length` (exclusive).

The `index` is defined to be out-of-bounds if any of the following inequalities is true:

- `index < 0`
- `index >= length`
- `length < 0`, which is implied from the former inequalities

Parameters
`index` | `int`: the index
`length` | `int`: the upper-bound (exclusive) of the range

Returns
`int` | `index` if it is within bounds of the range

Throws
`IndexOutOfBoundsException` | if the `index` is out-of-bounds

### compare

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

Returns 0 if the arguments are identical and `c.compare(a, b)` otherwise. Consequently, if both arguments are `null` 0 is returned.

Note that if one of the arguments is `null`, a `NullPointerException` may or may not be thrown depending on what ordering policy, if any, the `Comparator` chooses to have for `null` values.

Parameters
`a` | `T`: an object
`b` | `T`: an object to be compared with `a`
`c` | `Comparator`: the `Comparator` to compare the first two arguments

Returns
`int` | 0 if the arguments are identical and `c.compare(a, b)` otherwise.

See also:

- `Comparable`
- `Comparator`

### deepEquals

    public static boolean deepEquals (Object a,
                    Object b)

Returns `true` if the arguments are deeply equal to each other and `false` otherwise. Two `null` values are deeply equal. If both arguments are arrays, the algorithm in `Arrays#deepEquals(Object[], Object[])` is used to determine equality. Otherwise, equality is determined by using the `Object#equals` method of the first argument.

Parameters
`a` | `Object`: an object
`b` | `Object`: an object to be compared with `a` for deep equality

Returns
`boolean` | `true` if the arguments are deeply equal to each other and `false` otherwise

See also:

- `Arrays.deepEquals(Object[], Object[])`
- `equals(Object, Object)`

### 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 `Object#equals` method of the first argument.

Parameters
`a` | `Object`: an object
`b` | `Object`: an object to be compared with `a` for equality

Returns
`boolean` | `true` if the arguments are equal to each other and `false` otherwise

See also:

- `Object.equals(Object)`

### hash

    public static int hash (Object... values)

Generates a hash code for a sequence of input values. The hash code is generated as if all the input values were placed into an array, and that array were hashed by calling `Arrays#hashCode(Object[])`.

This method is useful for implementing `Object#hashCode()` on objects containing multiple fields. For example, if an object that has three fields, `x`, `y`, and `z`, one could write:

>      @Override public int hashCode() {
>          return Objects.hash(x, y, z);
>      }

Warning: When a single object reference is supplied, the returned value does not equal the hash code of that object reference. This value can be computed by calling `hashCode(java.lang.Object)`.

Parameters
`values` | `Object`: the values to be hashed

Returns
`int` | a hash value of the sequence of input values

See also:

- `Arrays.hashCode(Object[])`
- `List.hashCode()`

### hashCode

    public static int hashCode (Object o)

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

Parameters
`o` | `Object`: an object

Returns
`int` | the hash code of a non-`null` argument and 0 for a `null` argument

See also:

- `Object.hashCode()`

### isNull

    public static boolean isNull (Object obj)

Returns `true` if the provided reference is `null` otherwise returns `false`.

##### API Note:

- This method exists to be used as a `Predicate`, `filter(Objects::isNull)`

Parameters
`obj` | `Object`: a reference to be checked against `null`

Returns
`boolean` | `true` if the provided reference is `null` otherwise `false`

See also:

- `Predicate`

### nonNull

    public static boolean nonNull (Object obj)

Returns `true` if the provided reference is non-`null` otherwise returns `false`.

##### API Note:

- This method exists to be used as a `Predicate`, `filter(Objects::nonNull)`

Parameters
`obj` | `Object`: a reference to be checked against `null`

Returns
`boolean` | `true` if the provided reference is non-`null` otherwise `false`

See also:

- `Predicate`

### requireNonNull

    public static T requireNonNull (T obj,
                    String message)

Checks that the specified object reference is not `null` and throws a customized `NullPointerException` if it is. This method is designed primarily for doing parameter validation in methods and constructors with multiple parameters, as demonstrated below:

>      public Foo(Bar bar, Baz baz) {
>          this.bar = Objects.requireNonNull(bar, "bar must not be null");
>          this.baz = Objects.requireNonNull(baz, "baz must not be null");
>      }

Parameters
`obj` | `T`: the object reference to check for nullity
`message` | `String`: detail message to be used in the event that a `NullPointerException` is thrown

Returns
`T` | `obj` if not `null`

Throws
`NullPointerException` | if `obj` is `null`

### requireNonNull

    public static T requireNonNull (T obj,
                    Supplier<String> messageSupplier)

Checks that the specified object reference is not `null` and throws a customized `NullPointerException` if it is.

Unlike the method `requireNonNull(java.lang.Object, java.lang.String)`, this method allows creation of the message to be deferred until after the null check is made. While this may confer a performance advantage in the non-null case, when deciding to call this method care should be taken that the costs of creating the message supplier are less than the cost of just creating the string message directly.

Parameters
`obj` | `T`: the object reference to check for nullity
`messageSupplier` | `Supplier`: supplier of the detail message to be used in the event that a `NullPointerException` is thrown

Returns
`T` | `obj` if not `null`

Throws
`NullPointerException` | if `obj` is `null`

### requireNonNull

    public static T requireNonNull (T obj)

Checks that the specified object reference is not `null`. This method is designed primarily for doing parameter validation in methods and constructors, as demonstrated below:

>      public Foo(Bar bar) {
>          this.bar = Objects.requireNonNull(bar);
>      }

Parameters
`obj` | `T`: the object reference to check for nullity

Returns
`T` | `obj` if not `null`

Throws
`NullPointerException` | if `obj` is `null`

### requireNonNullElse

    public static T requireNonNullElse (T obj,
                    T defaultObj)

Returns the first argument if it is non-`null` and otherwise returns the non-`null` second argument.

Parameters
`obj` | `T`: an object
`defaultObj` | `T`: a non-`null` object to return if the first argument is `null`

Returns
`T` | the first argument if it is non-`null` and otherwise the second argument if it is non-`null`

Throws
`NullPointerException` | if both `obj` is null and `defaultObj` is `null`

### requireNonNullElseGet

    public static T requireNonNullElseGet (T obj,
                    Supplier<? extends T> supplier)

Returns the first argument if it is non-`null` and otherwise returns the non-`null` value of `supplier.get()`.

Parameters
`obj` | `T`: an object
`supplier` | `Supplier`: of a non-`null` object to return if the first argument is `null`

Returns
`T` | the first argument if it is non-`null` and otherwise the value from `supplier.get()` if it is non-`null`

Throws
`NullPointerException` | if both `obj` is null and either the `supplier` is `null` or the `supplier.get()` value is `null`

### toString

    public static String toString (Object o)

Returns the result of calling `toString` for a non-`null` argument and `"null"` for a `null` argument.

Parameters
`o` | `Object`: an object

Returns
`String` | the result of calling `toString` for a non-`null` argument and `"null"` for a `null` argument

See also:

- `Object.toString()`
- `String.valueOf(Object)`

### toString

    public static String toString (Object o,
                    String nullDefault)

Returns the result of calling `toString` on the first argument if the first argument is not `null` and returns the second argument otherwise.

Parameters
`o` | `Object`: an object
`nullDefault` | `String`: string to return if the first argument is `null`

Returns
`String` | the result of calling `toString` on the first argument if it is not `null` and the second argument otherwise.

See also:

- `toString(Object)`

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*