public final class Objects extends Object
static实用方法为操作对象。这些工具包括
null-safe或
null-tolerant方法计算一个对象的哈希码,返回一个对象的字符串,比较两个对象。
| Modifier and Type | Method and Description |
|---|---|
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)
返回
true如果提供的参考
null否则返回
false。
|
static boolean |
nonNull(Object obj)
返回
true如果提供的参考是非
null否则返回
false。
|
static <T> T |
requireNonNull(T obj)
检查指定的对象的引用是不
null。
|
static <T> T |
requireNonNull(T obj, String message)
检查指定的对象的引用是不
null抛
NullPointerException如果是定制的。
|
static <T> T |
requireNonNull(T obj, Supplier<String> messageSupplier)
检查指定的对象的引用是不
null抛
NullPointerException如果是定制的。
|
static String |
toString(Object o)
返回调用
toString为非结果一
null论证论点和
"null"
null。
|
static String |
toString(Object o, String nullDefault)
返回在第一个参数调用
toString结果如果第一个参数不
null返回第二个参数,否则。
|
public static boolean equals(Object a, Object b)
a -对象
b对象与
a平等相比
true如果参数相等,否则
false
Object.equals(Object)
public static boolean deepEquals(Object a, Object b)
true如果参数是彼此平等
false否则。两
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参数和0参数
Object.hashCode()
public static int hash(Object... values)
Arrays.hashCode(Object[])。
此方法用于实现包含多个字段的对象Object.hashCode()。例如,如果一个对象有三个领域,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)
toString为非结果一
null论证论点和
"null"
null。
o -对象
toString为非结果一
null论证论点和
"null"
null
Object.toString(),
String.valueOf(Object)
public static String toString(Object o, String nullDefault)
toString结果如果第一个参数不
null返回第二个参数,否则。
o -对象
nullDefault -字符串,如果第一个参数是
null返回
toString结果如果不是
null和二否则。
toString(Object)
public static <T> int compare(T a,
T b,
Comparator<? super T> c)
c.compare(a, b)否则。因此,如果参数都是
null返回0。
注意,如果一个参数是null,一NullPointerException可能或不可能被取决于订货政策,如果有选择的Comparator有null值。
T -是该对象的类型比较
a -对象
b对象比较
a
c -
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
obj
NullPointerException
public static <T> T requireNonNull(T obj,
String message)
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 -对象引用来检查无效
message -详细信息可在事件,
NullPointerException抛出
null
obj
null
obj
NullPointerException
public static boolean isNull(Object obj)
true如果提供的参考
null否则返回
false。
public static boolean nonNull(Object obj)
true如果提供的参考是非
null否则返回
false。
public static <T> T requireNonNull(T obj,
Supplier<String> messageSupplier)
null抛
NullPointerException如果是定制的。
不同的方法requireNonNull(Object, String),这种方法允许消息被推迟到null检查了创作。虽然这可能会赋予在非空的情况下的性能优势,当决定调用这个方法的护理应考虑创建消息供应商的成本是小于直接创建字符串消息的成本。
T -参考类型
obj -对象引用来检查无效
messageSupplier -的详细信息可以在事件,
NullPointerException被供应商
null
obj
null
obj
NullPointerException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.