package com.hanchao.test; import org.apache.commons.lang.ArrayUtils; /** * @author liweihan ([email protected]) * @version 1.0 (2016年1月14日 下午3:24:59) */ public class ArrayUtilsTest { public static void main(String[] args) { /** * 1.ArrayUtils.isEmpty(strs):判断数组是否为空, 不为空返回false, 为空true */ System.out.println(ArrayUtils.isEmpty(new String[]{"21","韩超"}));//false System.out.println(ArrayUtils.isEmpty(new String[]{""}));//false System.out.println(ArrayUtils.isEmpty(new String[]{null})); //false System.out.println(ArrayUtils.isEmpty(new String[]{}));//true /** * 2.ArrayUtils.isSameLength(strs,strs2):判断两个数组长度是否相等, * 长度相等返回true,否则返回false。相比较的两个数组类型必须相同 */ System.out.println(ArrayUtils.isSameLength(new String[]{"21","韩超"}, new String[]{"22","中国"}));//true System.out.println(ArrayUtils.isSameLength(new String[]{"21","韩超"}, new String[]{"中国"}));//false /** * 3.ArrayUtils.isSameType(strs,strs2):判断两个数组的类型是否相同, * 相同返回true,否则返回false */ System.out.println(ArrayUtils.isSameType(new String[]{"21","是"},new Integer[]{3}));//false /** * 4.ArrayUtils.isEquals(strs,strs2)判断两个数组是否相等 */ System.out.println(ArrayUtils.isEquals(new String[]{"21","是"}, new String[]{"21","是"}));//true System.out.println(ArrayUtils.isEquals(new String[]{"21","是"}, new String[]{"22","是"}));//false /** * 5.ArrayUtils.toString()将一个数组转换成String,用于打印 */ System.out.println(ArrayUtils.toString(new String[]{"22","韩超"})); //{22,韩超} /** * 6.ArrayUtils.clone赋值(克隆)数组 */ Object[] s = ArrayUtils.clone(new Object[]{"33","yy"}); System.out.println(ArrayUtils.toString(s));//{33,yy} /** * 7..ArrayUtils.subarray截取子数组:根据起始索引startIndexInclusive到结束索引startIndexInclusive */ Object[] s1 = ArrayUtils.subarray(new Object[]{"33","yy","uu"},0,1); Object[] s2 = ArrayUtils.subarray(new Object[]{"33","yy","uu"},0,2); System.out.println(ArrayUtils.toString(s1)); //{33} System.out.println(ArrayUtils.toString(s2)); //{33,yy} /** * 8.ArrayUtils.indexOf查询某个object在数组中的位置,可是指定起始搜索位置 */ System.out.println(ArrayUtils.indexOf(new Object[]{"33","yy","uu"},"uu")); //2 System.out.println(ArrayUtils.indexOf(new Object[]{"33","yy","uu"},"uu",2));//2 System.out.println(ArrayUtils.indexOf(new Object[]{"33","yy","uu"},"uu",3));//-1 /** * 9..ArrayUtils.lastIndexOf反向查询某个object在数组中的位置,可以指定起始搜索位置 */ System.out.println(ArrayUtils.lastIndexOf(new Object[]{"33","uu","yy","uu","aa"},"uu")); //3 System.out.println(ArrayUtils.lastIndexOf(new Object[]{"33","uu","yy","uu","aa"},"uu",2));//1 System.out.println(ArrayUtils.lastIndexOf(new Object[]{"33","uu","yy","uu","aa"},"uu",3));//3 /** * 10.ArrayUtils.contains查询某个object是否在数组中 */ System.out.println(ArrayUtils.contains(new String[]{"1","2","3"}, "11"));//false System.out.println(ArrayUtils.contains(new String[]{"1","2","3"}, "1"));//true /** * 11.ArrayUtils.reverse反转数组 */ String[] ss = new String[]{"22","yy"}; ArrayUtils.reverse(ss); System.out.println(ArrayUtils.toString(ss));//{yy,22} /** * 12.ArrayUtils.add添加一object到数组 */ String[] t = {"xx","yy"}; String[] t_new = (String[]) ArrayUtils.add(t, "jj"); System.out.println(ArrayUtils.toString(t_new));//{xx,yy,jj} /** * 13.ArrayUtils.addAll合并两个数组 */ String[] a1 = new String[]{"xx","yy"}; String[] a2 = new String[]{"zz"}; String[] a3 = {"yy","tt"}; String[] a12 = (String[]) ArrayUtils.addAll(a1, a2); String[] a13 = (String[]) ArrayUtils.addAll(a1, a3); System.out.println(ArrayUtils.toString(a12));//{xx,yy,zz} System.out.println(ArrayUtils.toString(a13));//{xx,yy,yy,tt} /** * 14.ArrayUtils.remove删除数组某个位置的元素 */ String[] r1 = new String[]{"aa","bb","cc","dd"}; String[] rResult = (String[]) ArrayUtils.remove(r1, 1); System.out.println(ArrayUtils.toString(rResult));//{aa,cc,dd} /** * 15.ArrayUtils.removeElement删除数组中某个对象 */ String[] r2 = new String[]{"aa","bb","cc","dd"}; String[] r2Result = (String[]) ArrayUtils.removeElement(r2, "cc"); System.out.println(ArrayUtils.toString(r2Result));//{aa,bb,dd} } }