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 <T> T |
requireNonNull(T obj)
指定されたオブジェクト参照が
null でないことを確認します。 |
static <T> T |
requireNonNull(T obj, String message)
指定されたオブジェクト参照が
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、それ以外の場合は falseObject.equals(Object)public static boolean deepEquals(Object a, Object b)
true を返し、それ以外の場合は false を返します。
2 つの null 値は相互に深層で等価です。両方の引数が配列の場合は、Arrays.deepEquals のアルゴリズムを使用して等しいかどうかが判定されます。それ以外の場合は、最初の引数の equals メソッドを使用して等しいかどうかが判定されます。a - オブジェクトb - a と深層で等価であるかどうかを比較するオブジェクトtrue、それ以外の場合は falseArrays.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 つの引数を比較する Comparatorc.compare(a, b)。Comparable, Comparatorpublic 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 である場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.