Objects类
来源:java.util.Objects 继承自Object,为final修饰类。
参考文献:jdk11API
给出部分常用:(以下方法没有特别说明,皆为static修饰)
Objects.equals(Object a, Object b)
比较a,b是否相等。返回布尔值。注意这里不会抛出空指针异常。如果是普通的equals()方法需要保证调用者不可为空,否则抛异常(如果没有处理的话)。
以上是源码,第一个是如果二者地址一样,那么自然相等,后面的保证了先传入的a不为空,所以没有空指针异常。
Objects.isNull(Object o)
判断是空,返回布尔值
Objects.nonNull(Object o)
判断非空,返回布尔值
Objects.requireNonNull(T obj)
不可为空,如果是null,抛出NullPointerException
源码:
简单粗暴。如果一个方法必须强制接受参数不能为空,可以考虑使用。下面有一个重载方法。
Objects.requireNonNull(T obj, String message)
和上面方法一样,只不过多了一个异常信息提醒。
Objects.toString(Object o)
没什么好解释的,转换字符串。
Objects.checkFromIndexSize(int fromIndex,int size, int length)
检查是否超出指定范围,一般用在数组检测中。判断[fromIndex,size+fromIndex)?∈[0,length)(前面问号非三目运算符),不是,抛出IndexOutOfBoundsException异常,是返回子范围的最小下标。但一般也就是自己写判断,这个写着玩玩。
其他还有一些,就整理到这。
下次见。
sue
2021年1月27日21:09:50