日期:2014-05-16  浏览次数:20997 次

apache.commons.lang2.3学习笔记-ArrayUtils
public class Lang {

	class Bean {
		String name;

		public Bean(String name) {
			this.name = name;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		@Override
		public boolean equals(Object obj) {
			return ((Bean) obj).getName().equals(name);
		}

		@Override
		public String toString() {
			return super.toString() + "--" + name;
		}

	}

	class Bean2 extends Bean {

		public Bean2(String name) {
			super(name);
		}

	}

	public void testArrayUtils() {
		/** add:给数组添加元素,无需考虑长度限制 */
		//		Object[] array = new Integer[2];
		//		array[0] = 1;
		//		array[1] = 2;
		//(数组,元素)在数组最后添加新的元素
		//		array = ArrayUtils.add(array, 5);
		//(数组,索引,元素)在指定索引添加新的元素
		//		array = ArrayUtils.add(array, 1, 5);
		/** addAll:将第二个数组合并到前一个数组 */
		//		Object[] array = new Integer[2];
		//		array[0] = 1;
		//		array[1] = 2;
		//		Object[] array2 = new Integer[2];
		//		array2[0] = 6;
		//		array2[1] = 7;
		//(数组1,数组2)在数组后拼接第二个数组
		//		array = ArrayUtils.addAll(array, array2);
		/** clone:浅克隆数组 */
		//		Object[] array = new Bean[2];
		//		array[0] = new Bean("bean1");
		//		array[1] = new Bean("bean2");
		//(源数组)浅克隆数组,返回一个新的数组对象,元素对象与源数组为同一对象
		//		Object[] array3 = ArrayUtils.clone(array);
		//		System.err.println(array + "--" + array3);
		//		System.err.println(Arrays.asList(array) + "--" + Arrays.asList(array3));
		/** constains:数组是否包含元素 */
		//		Object[] array = new Integer[2];
		//		array[0] = 1;
		//		array[1] = 2;
		//(数组,元素)是否包含相同元素,基础元素匹配值,
		//封装对象调用对象的equals方法匹配
		//		boolean b = ArrayUtils.contains(array, 1);
		//		System.err.println(b);
		/** getLength:获取数组的长度 */
		//		Object[] array = new Integer[2];
		//		array[0] = 1;
		//		array[1] = 2;
		//(数组)获取长度,若数组元素为填满数组,
		//返回创建数组指定长度,若超出则返回实际长度
		//		int len = ArrayUtils.getLength(array);
		//		System.err.println(len);
		/** hashCode:返回数组的哈希码并转化为整数 */
		//		Object[] array = new Integer[2];
		//		array[0] = 1;
		//		array[1] = 2;
		//		int hc = ArrayUtils.hashCode(array);
		//		System.err.println(hc);
		/** indexOf:返回指定元素在数组中得索引 */
		//		Object[] array = new Integer[2];
		//		array[0] = 1;
		//		array[1] = 2;
		//(数组,元素)指定元素所在数组索引,没有则返回-1;
		//基础元素匹配值,封装对象调用对象的equals方法匹配
		//		int index = ArrayUtils.indexOf(array, 1);
		//(数组,元素,起始查找索引)从起始索引查找指定元素所在数组索引,
		//没有则返回-1;基础元素匹配值,封装对象调用对象的equals方法匹配
		//		int index = ArrayUtils.indexOf(array, 1, 1);
		//		double[] array4 = new double[] { 1.12, 2.213333 };
		//(double数组,double元素,double容差)
		//在double数组中查找给定的double值,
		//被查找的值与给定的值之间的差小于给定的容差
		//		int index = ArrayUtils.indexOf(array4, 2.1, 0.2);
		//(double数组,double元素,起始索引,double容差)
		//在double数组中从起始索引开始查找给定的double值,
		//被查找的值与给定的值之间的差小于给定的容差
		//		int index = ArrayUtils.indexOf(array4, 1.2, 1, 0.2);
		//		System.err.println(index);
		/** isEmpty:验证数组是否为空 */
		//		Object[] array = new Integer[2];
		//		array[0] = 1;
		//		array[1] = 2;
		//(数组)当且仅当数组未指定长度或数组指定长度为0且未添加元素时返回true
		//		boolean b = ArrayUtils.isEmpty(array);
		//		System.err.println(b);
		/** isEquals:验证两个数组所有元素是否相同且一一对应 */
		//		Object[] array = new Bean[2];
		//		array[0] = new Bean("bean1");
		//		array[1] = new Bean("bean2");
		//		Object[] array2 = new Bean[2];
		//		array2[0] = new Bean("bean1");
		//		array2[1] = new Bean("bean2");
		//(数组1,数组2)验证两个数组元素是否一一对应,基础元素匹配值,
		//封装对象调用对象的equals方法匹配
		//		boolean b = ArrayUtils.isEquals(array, array2);
		//		System.err.println(b);
		/** isSameLength:验证两个数组是否长度相同 */
		//		Object[] array = new Integer[2];
		//		array[0] = 1;
		//		array[1] = 2;
		//		Object[] array2 = new Integer[2];
		//		array2[0] = 6;
		//		array2[1] = 7;
		//(数组1,数组2)分别调用getLength()方法获取两个数组的长度后匹配,
		//验证长度规则等同getLength()方法
		//		boolean b = ArrayUtils.isSameLength(array, array2);
		//		System.err.println(b);
		/** isSameType:验证两个数组是否为相同类型 */
		//		Object[] array = new Bean[2];
		//		array[0] = new Bean("bean1");
		//		array[1] = new Bean("bean2");
		//		Object[] array2 = new Be