ArrayUtils
Posted lljliulljn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayUtils相关的知识,希望对你有一定的参考价值。
// 1.打印数组ArrayUtils.toString( new int [] 1 , 4 , 2 , 3 ); // 1,4,2,3
ArrayUtils.toString( new Integer[] 1 , 4 , 2 , 3 ); // 1,4,2,3
ArrayUtils.toString( null , " I'm nothing! " ); // I'm nothing!
// 2.判断两个数组是否相等,采用EqualsBuilder进行判断
// 只有当两个数组的数据类型,长度,数值顺序都相同的时候,该方法才会返回True
// 2.1 两个数组完全相同
ArrayUtils.isEquals( new int [] 1 , 2 , 3 , new int [] 1 , 2 , 3 ); // true
// 2.2 数据类型以及长度相同,但各个Index上的数据不是一一对应
ArrayUtils.isEquals( new int [] 1 , 3 , 2 , new int [] 1 , 2 , 3 );// true
// 2.3 数组的长度不一致
ArrayUtils.isEquals( new int [] 1 , 2 , 3 , 3 , new int [] 1 , 2 , 3 );// false
// 2.4 不同的数据类型
ArrayUtils.isEquals( new int [] 1 , 2 , 3 , new long [] 1 , 2 , 3 ); // false
ArrayUtils.isEquals( new Object[] 1 , 2 , 3 , new Object[] 1 , ( long ) 2 , 3 ); // false
// 2.5 Null处理,如果输入的两个数组都为null时候则返回true
ArrayUtils.isEquals( new int [] 1 , 2 , 3 , null ); // false
ArrayUtils.isEquals( null , null ); // true
// 3.将一个数组转换成Map
// 如果数组里是Entry则其Key与Value就是新Map的Key和Value,如果是Object[]则Object[0]为KeyObject[1]为Value
// 对于Object[]数组里的元素必须是instanceof Object[]或者Entry,即不支持基本数据类型数组
// 如:ArrayUtils.toMap(new Object[]new int[]1,2,new int[]3,4)会出异常
ArrayUtils.toMap( new Object[] new Object[] 1 , 2 , new Object[] 3 , 4 ); // 1=2,
// 3=4
ArrayUtils.toMap( new Integer[][] new Integer[] 1 , 2 , new Integer[] 3 , 4 ); // 1=2,
// 3=4
// 4.拷贝数组
ArrayUtils.clone( new int [] 3 , 2 , 4 ); // 3,2,4
// 5.截取数组
ArrayUtils.subarray( new int [] 3 , 4 , 1 , 5 , 6 , 2 , 4 ); // 1,5
// 起始index为2(即第三个数据)结束index为4的数组
ArrayUtils.subarray( new int [] 3 , 4 , 1 , 5 , 6 , 2 , 10 ); // 1,5,6
// 如果endIndex大于数组的长度,则取beginIndex之后的所有数据
// 6.判断两个数组的长度是否相等
ArrayUtils.isSameLength( new Integer[] 1 , 3 , 5 , new Long[] 2L , 8L , 10L ); // true
// 7.获得数组的长度
ArrayUtils.getLength( new long [] 1 , 23 , 3 ); // 3
// 8.判段两个数组的类型是否相同
ArrayUtils.isSameType( new long [] 1 , 3 , ArrayUtils的常用办法介绍