Object类的常用方法!附加个人理解,欢迎指正!
1)checkFromIndexSize(int fromIndex, int size, int length)
检查是否在子范围从 fromIndex (包括)到 fromIndex + size (不包括)是范围界限内 0 (包括)到 length (不包括)。简单理解就是是否越界,意思就是1+(1+size)是不是在区间0-3内;
2)checkFromToIndex(int fromIndex, int toIndex, int length)
检查是否在子范围从 fromIndex (包括)到 toIndex (不包括)是范围界限内 0 (包括)到 length (不包括)。简单理解就是1-2是不是在区间0-3内;
3)checkIndex(int index, int length)
检查 index是否在 0 (含)到 length (不包括)范围内。简单理解就是,就是句面意思;
4)compare(T a, T b, Comparator<? super T> c)
如果参数相同则返回0,否则返回 c.compare(a, b) 。
5)deepEquals(Object a, Object b)
返回 true如果参数是深层相等,彼此 false其他。 深层相等
6)static boolean equals(Object a, Object b)
返回 true如果参数相等,彼此 false其他。就是做比较,相等返回true,不等返回false
7)static int hash(Object... values)
为一系列输入值生成哈希码。
8)static int hashCode(Object o)
返回非的哈希码 null参数,0为 null的论点。
9)static boolean isNull(Object obj)
返回 true如果提供的参考是 null ,否则返回 false 。 判断是否是空
10)static boolean nonNull(Object obj)。
返回 true如果提供的参考是非 null否则返回 false 。 判断是否不是空
11)static <T> T requireNonNull(T obj)
检查指定的对象引用是否不是 null 。
12)static <T> T requireNonNull(T obj, String message)
检查指定的对象引用是否为null ,如果是,则抛出自定义的NullPointerException 。 如果是空直接上异常
13)static <T> T requireNonNull(T obj, Supplier<String> messageSupplier)
检查指定的对象引用是否为null ,如果是,则抛出自定义的NullPointerException 。
14)static <T> T requireNonNullElse(T obj, T defaultObj)
如果它是非 null ,则返回第一个参数,否则返回非 null第二个参数。 字面意思
15)static <T> T requireNonNullElseGet(T obj, Supplier<? extends T> supplier)
如果它是非 null ,则返回第一个参数,否则返回非 null值 supplier.get() 。
16)static String toString(Object o)
返回调用的结果 toString对于非 null参数, "null"为 null的说法。
17)static String toString(Object o, String nullDefault)
如果第一个参数不是 null ,则返回在第一个参数上调用 toString的结果,否则返回第二个参数。