Objects类:
包含了static实用程序方法,这些实用程序包括了null或null方法。用于计算对象的哈希代码,返回对象的字符串,比较两个对象以及检查索引或子范围值是否超出范围。
方法摘要:
难点:变量和类型为:static int
方法:compare(T a, T b, Comparator<? super T> c)
描述:如果参数相同,则则返回0,否则返回c.compare(a,b)。
检查范围的简单来说就是判断是否下标越界三个方法:变量和类型都是stati int
1、checkFromIndexSize(int fromIndex, int size, int length) 描述 :检查是否在子范围从第一个参数(包括)到(第一个参数+size(第二个参数))(不包括)
2、checkFromToIndex(int fromIndex, int toIndex, int length) 描述:检查是否在子范围从第一个参数(包括)到(第二个参数)(不包括)
3、checkIndex(int index, int length) 描述:检查第一个参数是否在0(包括)-length(不包括)范围内。
equals(Object a, Object b) 和 deepEquals(Object a, Object b)的区别: (变量和类型:static boolean)
当我们比较两个内容相等的时候适用deepEquals。(若为对象数组且未重写equals方法,不建议使用。)equals的相等需要两个内容的物理地址相等才相等。如果对象重写了equals不在此情况内。
isNull(Object obj) 和 nonNull(Object obj) (变量和类型:static boolean)区别:
isNull 如果为null 则true nonNull恰好相反
检查指定对象是否为空的四种方法:(变量和类型均为泛型 static T)
requireNonNull(T obj) 检查obj是否不是null,不是null则返回true。从方法名可以看出来意思。
requireNonNull(T obj, String message)
requireNonNull(T obj, Supplier messageSupplier) 第二个和第三个方法作用相同。检查obj是否不是null,是null则抛出空指针异常。
requireNonNullElse(T obj, T defaultObj) 如果不是null则返回第一个参数,是null则返回非null的第二个参数
requireNonNullElseGet(T obj, Supplier<? extends T> supplier) 如果不是null则返回第一个参数,是null则返回非null值supplier.get()。
hash(Object… values) 变量和类型:static int;为一系列输入值生成哈希码。
hashCode(Object o) 变量和类型:static int;返回非的哈希码 null参数,0为 null的论点。
toString(Object o) 与 toString(Object o,String nullDefault)区别:(变量和类型都是static String)
如果o不会空则调用toString,第二个方法如果为空则调用第二个参数即可。