public final class Objects extends Object
static
ユーティリティ・メソッドで構成されます。このようなユーティリティには、オブジェクトのハッシュ・コードを計算したり、オブジェクトを表す文字列を返したり、2つのオブジェクトを比較したりするために、null
セーフまたはnull
を許容するメソッドが含まれます。修飾子と型 | メソッドと説明 |
---|---|
static <T> int |
compare(T a, T b, Comparator<? super T> c)
引数が一致する場合は0を返し、それ以外の場合は
c.compare(a, b) を返します。 |
static boolean |
deepEquals(Object a, Object b)
引数が相互に深層で等価である場合は
true を返し、それ以外の場合はfalse を返します。 |
static boolean |
equals(Object a, Object b)
引数が相互に等しい場合は
true を返し、それ以外の場合はfalse を返します。 |
static int |
hash(Object... values)
一連の入力値に対してハッシュ・コードを生成します。
|
static int |
hashCode(Object o)
null 以外の引数のハッシュ・コードを返し、引数がnull の場合は0を返します。 |
static boolean |
isNull(Object obj)
指定された参照が
null の場合はtrue を返します。それ以外の場合はfalse を返します。 |
static boolean |
nonNull(Object obj)
指定された参照が
null 以外の場合はtrue を返します。それ以外の場合はfalse を返します。 |
static <T> T |
requireNonNull(T obj)
指定されたオブジェクト参照が
null でないことを確認します。 |
static <T> T |
requireNonNull(T obj, String message)
指定されたオブジェクト参照が
null でないことを確認し、nullの場合はカスタマイズされたNullPointerException をスローします。 |
static <T> T |
requireNonNull(T obj, Supplier<String> messageSupplier)
指定されたオブジェクト参照が
null でないことを確認し、nullの場合はカスタマイズされたNullPointerException をスローします。 |
static String |
toString(Object o)
引数が
null でない場合はtoString の呼出し結果を返し、null の場合は"null" を返します。 |
static String |
toString(Object o, String nullDefault)
最初の引数が
null でない場合はそれに対するtoString の呼出し結果を返し、それ以外の場合は2番目の引数を返します。 |
public static boolean equals(Object a, Object b)
true
を返し、それ以外の場合はfalse
を返します。したがって、両方の引数がnull
の場合はtrue
が返され、1つの引数だけがnull
の場合はfalse
が返されます。それ以外の場合は、最初の引数のequals
メソッドを使用して等しいかどうかが判定されます。a
- オブジェクトb
- a
と等しいかどうかを比較するオブジェクトtrue
、それ以外の場合はfalse
Object.equals(Object)
public static boolean deepEquals(Object a, Object b)
true
を返し、それ以外の場合はfalse
を返します。2つのnull
値は相互に深層で等価です。両方の引数が配列の場合は、Arrays.deepEquals
のアルゴリズムを使用して等しいかどうかが判定されます。それ以外の場合は、最初の引数のequals
メソッドを使用して等しいかどうかが判定されます。a
- オブジェクトb
- a
と深層で等価であるかどうかを比較するオブジェクトtrue
、それ以外の場合はfalse
Arrays.deepEquals(Object[], Object[])
, equals(Object, Object)
public static int hashCode(Object o)
null
以外の引数のハッシュ・コードを返し、引数がnull
の場合は0を返します。o
- オブジェクトnull
でない場合はそのハッシュ・コード、引数がnull
の場合は0Object.hashCode()
public static int hash(Object... values)
Arrays.hashCode(Object[])
の呼出しでハッシュ化されたかのように処理されます。
このメソッドは、複数のフィールドを含むオブジェクトにObject.hashCode()
を実装する場合に役立ちます。たとえば、オブジェクトに3つのフィールドx
、y
、z
がある場合は、次のように記述できます。
警告: 単一のオブジェクト参照が指定された場合、戻り値はそのオブジェクト参照のハッシュ・コードと同じではありません。この値は、@Override public int hashCode() { return Objects.hash(x, y, z); }
hashCode(Object)
を呼び出すことで計算できます。values
- ハッシュ化する値Arrays.hashCode(Object[])
, List.hashCode()
public static String toString(Object o)
null
でない場合はtoString
の呼出し結果を返し、null
の場合は"null"
を返します。o
- オブジェクトnull
でない場合はtoString
の呼出し結果、引数がnull
の場合は"null"
Object.toString()
, String.valueOf(Object)
public static String toString(Object o, String nullDefault)
null
でない場合はそれに対するtoString
の呼出し結果を返し、それ以外の場合は2番目の引数を返します。o
- オブジェクトnullDefault
- 最初の引数がnull
の場合に返す文字列null
でない場合はそれに対するtoString
の呼出し結果、それ以外の場合は2番目の引数。toString(Object)
public static <T> int compare(T a, T b, Comparator<? super T> c)
c.compare(a, b)
を返します。したがって、両方の引数がnull
の場合は0が返されます。
引数の1つがnull
のときは、NullPointerException
がスローされる場合とそうでない場合があります。これは、Comparator
でnull
値の順序付けポリシーが選択されていれば、そのポリシーによって決まります。
T
- 比較されるオブジェクトの型a
- オブジェクトb
- a
と比較されるオブジェクトc
- 最初の2つの引数を比較するComparator
c.compare(a, b)
。Comparable
, Comparator
public static <T> T requireNonNull(T obj)
null
でないことを確認します。このメソッドは、次に示すように、メソッドとコンストラクタでパラメータを検証することを主な目的として設計されています。
public Foo(Bar bar) { this.bar = Objects.requireNonNull(bar); }
T
- その参照の型obj
- nullかどうかが判定されるオブジェクト参照obj
(null
でない場合)NullPointerException
- obj
がnull
である場合public static <T> T requireNonNull(T obj, String message)
null
でないことを確認し、nullの場合はカスタマイズされたNullPointerException
をスローします。このメソッドは、次に示すように、パラメータが複数のメソッドとコンストラクタでパラメータを検証することを主な目的として設計されています。
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
- その参照の型obj
- nullかどうかが判定されるオブジェクト参照message
- NullPointerException
がスローされた場合に使用する詳細メッセージobj
(null
でない場合)NullPointerException
- obj
がnull
である場合public static boolean isNull(Object obj)
null
の場合はtrue
を返します。それ以外の場合はfalse
を返します。public static boolean nonNull(Object obj)
null
以外の場合はtrue
を返します。それ以外の場合はfalse
を返します。public static <T> T requireNonNull(T obj, Supplier<String> messageSupplier)
null
でないことを確認し、nullの場合はカスタマイズされたNullPointerException
をスローします。
メソッドrequireNonNull(Object, String)
とは異なり、このメソッドはnullチェックが行われる後までメッセージの作成を遅延できます。これはnull以外の場合にパフォーマンスが向上する場合がありますが、このメソッドを呼び出すことを決定するときは、メッセージ・サプライヤを作成するコストが文字列メッセージを単に直接作成するコストよりも小さいことを考慮するようにしてください。
T
- その参照の型obj
- nullかどうかが判定されるオブジェクト参照messageSupplier
- NullPointerException
がスローされる場合に使用される詳細メッセージのサプライヤobj
(null
でない場合)NullPointerException
- obj
がnull
である場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.