Objects类
此类包含static实用程序方法,用于操作对象或在操作前检查某些条件
1、checkFromIndexSize(int fromIndex, int size, int length)方法
检查是否在子范围从fromIndex (包括)到fromIndex + size (不包括)是范围界限内0(包括)到length (不包括)。
结果:如果在范围内,则返回 fromIndex
如果不在范围内,IndexOutOfBoundsException 异常
2、checkFromToIndex(int fromIndex, int toIndex, int length)方法
检查是否在子范围从fromIndex (包括)到toIndex (不包括)是范围界限内0 (包括)到length (不包括) 。
结果:如果在范围内,则返回 fromIndex
如果不在范围内,IndexOutOfBoundsException 异常
3、checkIndex(int index, int length) 方法
检查index是否在0 (含)到length (不包括)范围内。
结果:如果在范围内,则返回 Index
如果不在范围内,IndexOutOfBoundsException 异常
4、deepEquals(Object a, Object b) 方法
返回true如果参数是深层相等,彼此false其他。 两个null值非常相等。 如果两个参数都是数组,则使用Arrays.deepEquals中的算法来确定相等性。 否则,通过使用第一个参数的equals方法确定相等性。
结果为boolean类型
5、equals(Object a, Object b) 方法
判断两参数是否相等,建议重写equals方法
结果为Boolean类型
6、hash(Object... values) 方法
为一系列输入值生成哈希码。 生成哈希码,好像所有输入值都放在一个数组中,并通过调用Arrays.hashCode(Object[])对该数组进行哈希处理 。
结果:输入值序列的哈希值,类型为 int
7、hashCode(Object o) 方法
返回非的哈希码 null参数,0为 null的论点。
结果:非的哈希码 null参数,0为 null参数,返回值类型为 int
8、isNull(Object obj) 方法
判断参数是否为空
结果:为boolean类型,参数为空返回true,反之返回false
9、nonNull(Object obj)方法
与isNull方法相反
结果:为Boolean类型,参数为空返回false,反之返回true
10、requireNonNull(T obj) 方法
判断参数是否不为空,此方法主要用于在方法和构造函数中进行参数验证,如下所示:
public Foo(Bar bar) {
this.bar = Objects.requireNonNull(bar);
}
结果:为Boolean类型,如果不是空,则返回bar,反之返回NullPointerException异常
11、requireNonNullElse(T obj, T defaultObj)
如果不是空则返回第一个参数,否则返回第二个参数
12、toString(Object o)
13、toString(Object o, String nullDefault)
如果第一个参数不是 null ,则返回在第一个参数上调用 toString的结果,否则返回第二个参数。