一、Objects
1、compare:比较两个对象是否相等
2、equals:比较两个对象、数字、字符串、是否相等,如果是实例化对象最好重写equals方法,因为它就是调用equals方法。
3、deepEquals:该方法其实就是在Objects.equals方法基础上修改调用Arrays.deepEquals方法可以算是深度比较。
4、hash:调用了Arrays.hashCode方法获取code,多参数的方法
5、hashCode:如果是实例化对象最好重写hashCode方法,空的时候返回的是0
6、isNull:是不是null
7、nonNull:不为null?
8、requireNonNull:请求是空嘛?如果是null是会抛出空指针异常的,后面的message可以用来返回为空时候的信息,这样抛出空指针也可以知道是哪里抛出的。
9、toString:实例化对象最好重写toString方法,后面nullDefault值其实可以用来指定返回一个固定的值,总比输出null好多了。
二、Arrays
1、sort: 串行排序这个不用多说了
2、parallelSort:并行排序(数据量大情况下性能好,主要看服务器性能来判断用串行还是并行)
3、asList: 数组转成List
4、binarySearch:二分查找,如果是查找一个元素可以使用二分查找(数据是要从小到大排序好的哦)
5、copyOf:复制数组从第一位开始复制,如果是元素不够基本数据类型默认就是0或者0.0,其他为null
6、copyOfRange:复制数组,元素从from到to取,数组大小就是from到to
7、equals:对于一维数组的比较,如果是多维数组那么是不行的
8、deepEquals:对于一维和多维数组,但是类型是Object[]类型如果是其他类型的都要转一下了
9、fill:看名字就知道是填充的意思了, fill(xx[] a, xx val)a数组所有元素都填充为val,fill(int[] a, int fromIndex, int toIndex, int val) a数组中从fromIndex元素开始到toIndex元素用val值填充。
例如:
int [] a = new int[10]; Arrays.fill(a,2); Arrays.fill(a,3,5,8);
第一次a数据全部都是按2填充,后面a数组中3到5元素用8来填充
结果就为:2 2 2 8 8 2 2 2 2 2
10、hashCode:获取hash码,这里的hashCode没有调用native里面的方法,而是直接运算得出的。
11、parallelPrefix:用于自定义计算,生成对应的数组。例如: