需要添加的maven包:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency>
1、判断数组是否为空:
ArrayUtils.isEmpty(new String[]{});
//ArrayUtils实现: public static boolean isEmpty(Object[] array) { return array == null || array.length == 0; }
2、数组添加元素,合并两个数组
public static <T> T[] addAll(T[] array1, T... array2) {
if (array1 == null) { return clone(array2); } else if (array2 == null) { return clone(array1); } else { Class<?> type1 = array1.getClass().getComponentType(); T[] joinedArray = (Object[])((Object[])Array.newInstance(type1, array1.length + array2.length)); System.arraycopy(array1, 0, joinedArray, 0, array1.length); try { System.arraycopy(array2, 0, joinedArray, array1.length, array2.length); return joinedArray; } catch (ArrayStoreException var6) {//这里的catch貌似没什么用,进这个方法的肯定类型都一致呀,不知道我是否理解有误 Class<?> type2 = array2.getClass().getComponentType(); if (!type1.isAssignableFrom(type2)) { throw new IllegalArgumentException("Cannot store " + type2.getName() + " in an array of " + type1.getName(), var6); } else { throw var6; } } } }
3、向一个数组添加一个元素
public static int[] add(int[] array, int element) { int[] newArray = (int[])((int[])copyArrayGrow1(array, Integer.TYPE)); newArray[newArray.length - 1] = element; return newArray; } private static Object copyArrayGrow1(Object array, Class<?> newArrayComponentType) { if (array != null) { int arrayLength = Array.getLength(array); Object newArray = Array.newInstance(array.getClass().getComponentType(), arrayLength + 1); System.arraycopy(array, 0, newArray, 0, arrayLength); return newArray; } else { return Array.newInstance(newArrayComponentType, 1); } }
/* 1. ArrayUtils.isEmpty(strs) : 判断数组是否为空 , 不为空返回false,为空true */
ArrayUtils.isEmpty(new String[]{"21","是"});//结果是false
ArrayUtils.isEmpty(new String[]{""});//结果是false
ArrayUtils.isEmpty(new String[]{});//结果是true
/* 2. ArrayUtils.isNotEmpty(strs) : 判断数组是否不为空 , 不为空返回true,为空false */
ArrayUtils.isNotEmpty(new String[]{"21","是"});//结果是true
ArrayUtils.isNotEmpty(new String[]{""});//结果是true
ArrayUtils.isNotEmpty(new String[]{});//结果是false
/* 3. ArrayUtils.isSameLength(strs, strs2) : 判断两个数组长度是否相等, 长度相等返回true,否则返回false 。相比较的两个数组类型必须相同*/
ArrayUtils.isSameLength(new String[]{"21","是"}, new String[]{"21","是"});//返回false
/* 4. ArrayUtils.isSameType(strs, strs2) :判断两个数组的类型是否相同,相同返回true,否则返回false*/
ArrayUtils.isSameType(new String[]{"21","是"}, new Integer[]{3});
/* 5. ArrayUtils.isEquals(strs, strs2) 判断两个数组是否相等 */
ArrayUtils.isEquals(strs, strs);//结果是true
/* 6. ArrayUtils.toString() 将一个数组转换成String,用于打印 */
ArrayUtils.toString(new String[]{"21","是"});//结果是:{21,是}
/* 7. ArrayUtils.clone 赋值 (克隆) 数组 */
Object[] s =ArrayUtils.clone(new Object[]{"33","yy"});
/* 8. ArrayUtils.subarray 截取 子数组 : 根据 起始索引 startIndexInclusive 到 结束索引startIndexInclusive */
Object[] s1 =ArrayUtils.subarray(new Object[]{"33","yy","uu"}, 0, 1);//结果是返回数组 :[33]
Object[] s2 =ArrayUtils.subarray(new Object[]{"33","yy","uu"}, 0, 2);//结果是返回数组 :[33, yy]
/* 9. ArrayUtils.indexOf 查询某个object在数组中的位置,可是指定起始搜索位置*/
int index=ArrayUtils.indexOf(new Object[]{"33","yy","uu"}, "uu" );//结果是2
int index1=ArrayUtils.indexOf(new Object[]{"33","yy","uu"}, "uu",2 );//结果是2
int index3=ArrayUtils.indexOf(new Object[]{"33","yy","uu"}, "uu",3 );//结果是-1
/* 10. ArrayUtils.lastIndexOf 反向查询某个object在数组中的位置 可是指定起始搜索位置*/
int index11=ArrayUtils.lastIndexOf(new Object[]{"33","yy","uu"}, "33" );//结果是0
int index22=ArrayUtils.lastIndexOf(new Object[]{"33","yy","uu"}, "33",2 );
/* 11. ArrayUtils.contains 查询某个object是否在数组中 */
/* 12. ArrayUtils.reverse 反转数组 */
ArrayUtils.reverse(new String[]{"22","yy"});//结果是:{"yy","22"}
/* 13. ArrayUtils.add 添加一object到数组*/
String[] t={"22","yy"};
String[] gg=(String[]) ArrayUtils.add(t, "jj");//{"22","yy","jj"}
/* 14. ArrayUtils.addAll 合并两个数组*/
String[] ggo=(String[]) ArrayUtils.addAll(new String[]{"22","yy"},new String[]{ "jj"});//结果是:[22, yy, jj]
/* 15. ArrayUtils.remove 删除数组某个位置的元素*/
String[] gg4=(String[]) ArrayUtils.remove(new String[]{"22","yy"}, 1);
/* 16. ArrayUtils.removeElement 删除数组中某个对象*/
String[] ggpp=(String[]) ArrayUtils.removeElement(new String[]{"22","yy"}, "yy");