1.这个类的基本说明:函数
从这段代码,能够看出,这个类包括了非空检查、方法的非空参数检查、 比较对象的hashCode、为对象返回一个字符串表示、比较两个对象。工具
2.构造方法ui
一、这个类从jdk1.7开始出现的;3d
二、该类是使用final修饰的,不能被继承;对象
三、该类的构造方法被私有化(使用private修改),不能直接建立对象blog
四、该类中全部的方法都是静态的,可使用类名点直接调用,不须要建立对象。继承
因此,若是工做中,写工具类也能够私有化构造方法,同时抛一个异常。字符串
3.静态方法get
equals:比较2个对象是否相等,之后工做中有须要的话,能够直接用jdk这个工具类的方法判断。hash
deepEquals:深度比较2个对象是否相等。若是==的话,返回true,若是任意一个为null,返回false,不然,用Arrays.deepEquals方法比较是否相等
hashCode:返回一个对象的hash值,对象为null时,返回0.
hash:传入多个对象时,返回一个hash值,若是对象只有一个时,这个值不等于引用地址的hash值,能够用hashCode方法计算。
toString:将对象转成字符串。
toString(Object 0,String nullDefault):将对象转成字符串,若是字符串为null,则为nullDefault,也就是当字符串为null时能够设置默认值。
compare:使用指定的比较器比较2个数的大小。其中一个数为null时是否抛出异常,取决于所选的比较器。
requireNonNull:判空操做。
requireNonNull(Object o,String message):判空操做,当为控制,跑出异常,异常信息为message。
inNull:对象是否为null,该方法从jdk1.8才开始有的。
nonNull:对象是否不为null,该方法从jdk1.8才开始有的。
requireNonNullElse(T obj,T defaultObj):当obj不为null,返回obj,不然,判断defaultObj是否为null,不为null,返回defaultObj,为null,返回字符串“defaultObj”。该方法从jdk9开始才有的。
requireNonNullElseGet(T obj,Supplier<? extends T>supplier):当obj不为null,返回obj,不然,判断supplier是否为null,不为null,再判断supplier.get()是否为null,不为null,返回字符串supplier.get()。该方法从jdk9开始才有的。
requireNonNull(T obj,Supplier<String> messageSupplier):判断对象是否为null,为null时,抛出用户自定义异常。这个从jdk1.8开始才有的。
checkIndex:从jdk9开始才有的方法。
@ForceInline注解,当HotSpot VM内联方法或构造函数时,若是要忽略标准内联指标,那么能够将方法或构造函数注释为“force inline”。
必须谨慎使用此注释。当唯一合理的替代方法是将特定方法或构造函数的名称绑定到HotSpot VM中,以便内联策略进行特殊处理时,这种方法很是有用。
不能依赖该注释做为避免调优VM内联策略的替代方法。在一些状况下,它可能充当临时的解决方案,直到HotSpot VM执行的分析和内联获得足够的改进。
此注释仅对引导加载程序加载的类的方法或构造函数生效。在引导加载程序以外加载的类的方法或构造函数上的注释将被忽略。
checkFromToIndex:该方法从jdk9开始才有的。
checkFromIndexSize:该方法从jdk9开始才有的。