public final class Objects extends Object
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.Modifier and Type | Method and Description |
---|---|
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 |
equals(Object a,
Object b)
Returns
true if the arguments are equal to each other
and false otherwise. |
static int |
hashCode(Object o)
Returns the hash code of a non-
null argument and 0 for
a null argument. |
static <T> T |
requireNonNull(T obj)
Checks that the specified object reference is not
null . |
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 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. |
public static <T> int compare(T a, T b, Comparator<? super T> c)
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.
T
- the type of the objects being compareda
- an objectb
- an object to be compared with a
c
- the Comparator
to compare the first two argumentsc.compare(a, b)
otherwise.Comparable
,
Comparator
public static boolean equals(Object a, Object b)
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.a
- an objectb
- an object to be compared with a
for equalitytrue
if the arguments are equal to each other
and false
otherwiseObject.equals(Object)
public static int hashCode(Object o)
null
argument and 0 for
a null
argument.o
- an objectnull
argument and 0 for
a null
argumentObject.hashCode()
public static <T> T requireNonNull(T obj)
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); }
T
- the type of the referenceobj
- the object reference to check for nullityobj
if not null
NullPointerException
- if obj
is null
public static <T> T requireNonNull(T obj, String message)
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"); }
T
- the type of the referenceobj
- the object reference to check for nullitymessage
- detail message to be used in the event that a NullPointerException
is thrownobj
if not null
NullPointerException
- if obj
is null
public static String toString(Object o)
toString
for a non-null
argument and "null"
for a null
argument.o
- an objecttoString
for a non-null
argument and "null"
for a null
argumentObject.toString()
,
String.valueOf(Object)
public static String toString(Object o, String nullDefault)
toString
on the first
argument if the first argument is not null
and returns
the second argument otherwise.o
- an objectnullDefault
- string to return if the first argument is
null
toString
on the first
argument if it is not null
and the second argument
otherwise.toString(Object)
Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. Use of this specification is subject to license terms.