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
、それ以外の場合は 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
である場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.