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.