【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/133463511
出自【进步*于辰的博客】
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。
文章目录
- 1、概述
- 2、方法摘要
- 2.1 static int checkFromIndexSize(int fromIndex, int size, int length)
- 2.2 static int checkFromToIndex(int fromIndex, int toIndex, int length)
- 2.3 static int checkIndex(int index, int length)
- 2.4 static <T> int compare(T a, T b, Comparator<? super T> c)
- 2.5 static boolean deepEquals(Object a, Object b)
- 2.6 static boolean equals(Object a, Object b)
- 2.7 static int hash(Object... values)
- 2.8 static int hashCode(Object o)
- 2.9 static boolean isNull(Object obj)
- 2.10 static boolean nonNull(Object obj)
- 2.11 static `<T>` T requireNonNull(T obj)
- 2.12 static `<T>` T requireNonNull(T obj, String message)
- 2.13 static `<T>` T requireNonNull(T obj, Supplier<String> messageSupplier)
- 2.14 static `<T> `T requireNonNullElse(T obj, T defaultObj)
- 2.15 static `<T>` T requireNonNullElseGet(T obj, Supplier<? extends T> supplier)
- 2.16 static String toString(Object o)
- 2.17 static String toString(Object o, String nullDefault)
1、概述
public final class Objects extends Object
此类包含static实用程序方法,用于操作对象或在操作前检查某些条件。 这些实用程序包括null或null方法,用于计算对象的哈希代码,返回对象的字符串,比较两个对象,以及检查索引或子范围值是否超出范围。
API Note:
静态方法如checkIndex(int, int) , checkFromToIndex(int, int, int) 和checkFromIndexSize(int, int, int)提供用于如果对应于索引和子范围的值超出边界的检查的便利性。 这些静态方法的变体支持定义运行时异常以及相应的异常详细消息,这些消息在值超出范围时抛出。 此类方法接受功能接口参数,即BiFunction实例,它将超出范围的值映射到运行时异常。 将这些方法与作为 lambda 表达式,方法引用或捕获值的类的参数结合使用时应小心。 在这种情况下,与功能接口分配相关的捕获成本可能超过检查边界的成本。
从以下版本开始:
1.7
2、方法摘要
2.1 static int checkFromIndexSize(int fromIndex, int size, int length)
检查是否在子范围从 fromIndex (包括)到 fromIndex + size (不包括)是范围界限内 0 (包括)到 length (不包括)。
2.2 static int checkFromToIndex(int fromIndex, int toIndex, int length)
检查是否在子范围从 fromIndex (包括)到 toIndex (不包括)是范围界限内 0 (包括)到 length (不包括)。
2.3 static int checkIndex(int index, int length)
检查 index是否在 0 (含)到 length (不包括)范围内。
2.4 static int compare(T a, T b, Comparator<? super T> c)
如果参数相同则返回0,否则返回 c.compare(a, b) 。
2.5 static boolean deepEquals(Object a, Object b)
如果参数是深层相等,返回 true。
2.6 static boolean equals(Object a, Object b)
如果参数相等,返回 true。
2.7 static int hash(Object… values)
为一系列输入值生成哈希码。
2.8 static int hashCode(Object o)
返回“非”的哈希码,0为 null的论点。
2.9 static boolean isNull(Object obj)
如果提供的参考是 null ,返回 true。
2.10 static boolean nonNull(Object obj)
如果提供的参考是非 null,返回 true。
2.11 static <T> T requireNonNull(T obj)
检查指定的对象引用是否不是 null 。
说明:
看源码。

2.12 static <T> T requireNonNull(T obj, String message)
检查指定的对象引用是否为null ,如果是,则抛出自定义的 NullPointerException 。
2.13 static <T> T requireNonNull(T obj, Supplier messageSupplier)
检查指定的对象引用是否为null ,如果是,则抛出自定义的 NullPointerException 。
2.14 static <T> T requireNonNullElse(T obj, T defaultObj)
如果它是非 null ,则返回第一个参数,否则返回第二个参数(非null值)。
2.15 static <T> T requireNonNullElseGet(T obj, Supplier<? extends T> supplier)
如果它是非 null ,则返回第一个参数,否则返回 supplier.get()(非null值) 。
2.16 static String toString(Object o)
返回调用的结果 toString()。对于非null参数, "null"为null的说法。
2.17 static String toString(Object o, String nullDefault)
如果第一个参数不是 null ,则返回在第一个参数上调用 toString()的结果,否则返回第二个参数。
本文暂缓更新。