package com.aimilin.test;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.ArrayUtils;
import org.junit.Test;
public class LangTest {
// 打印数组
public static void p(T... obj) {
if (obj == null)
return;
for (T t : obj) {
System.out.println(t);
}
}
// 打印列表
public static void p(List list) {
if (list == null)
return;
for (T t : list) {
System.out.println(t);
}
}
// 打印Map
public static void p(Map, ?> map) {
if (map == null)
return;
for (Object key : map.keySet()) {
p("key:" + key + "\tvalue:" + map.get(key));
}
}
@Test
public void testArrayUtils() {
p("=============== ArrayUtils 工具类使用 ,这个类对null的输入处理很好================");
String strs[] = { "str1", "str2", "str3" };
p(ArrayUtils.add(strs, 0, "测试字符串"));
p("向数组中末尾添加元素");
p(ArrayUtils.add(strs, "str3"));
p("向数组指定位置添加元素");
p(ArrayUtils.add(strs, 1, "str3"));
p("向数组中添加所有元素");
p(ArrayUtils.addAll(strs, "str3", "str4"));
p("拷贝数组");
p(ArrayUtils.clone(strs));
p("数组中是否包含指定的元素");
p(ArrayUtils.contains(strs, "str2"));
p("获取数组的长度");
p(ArrayUtils.getLength(strs));
p("查找第一次出现的位置");
p(ArrayUtils.indexOf(strs, "str2"));
p("判断数组是否是空的");
p(ArrayUtils.isEmpty(strs));
p("判断数组是否非空");
p(ArrayUtils.isNotEmpty(strs));
p("判断数组是否相等");
p(ArrayUtils.isEquals(strs, new String[] { "str2" }));
p("判断数组长度是否相等");
p(ArrayUtils.isSameLength(strs, strs));
p("判断数组类型是否相同");
p(ArrayUtils.isSameType(strs, new String[] { "str" }));
p("查找数组中最后出现元素的位置");
p(ArrayUtils.lastIndexOf(strs, "str2"));
p("null转换成空数组");
p(ArrayUtils.nullToEmpty(strs));
p("从数组中移除指定索引的元素");
p(ArrayUtils.remove(strs, 1));
p("从数组中移除所有指定的元素");
p(ArrayUtils.removeAll(strs, 1, 2));
p("移除数组中指定的元素");
p(ArrayUtils.removeElement(strs, "str1"));
p("移除数组中指定的所有元素");
p(ArrayUtils.removeElements(strs, "str1", "str2"));
p("颠倒数组");
ArrayUtils.reverse(strs);
p(strs);
p("子数组");
p(ArrayUtils.subarray(strs, 0, 2));
p("构建数组");
p(ArrayUtils.toArray("str1", "str2"));
p("将二维数组转换成Map");
String mapStr[][] = { { "key1", "value1" }, { "key2", "value2" } };
p(ArrayUtils.toMap(mapStr));
p("将基本类型数组转换成包装类型");
p(ArrayUtils.toObject(new int[] { 1, 2, 3, 4, 5 }));
p("将包装类型数组转换成基本类型");
p(ArrayUtils.toPrimitive(new Integer[] { 1, 2, 3, 4, 5 }));
p("将数组用字符串的形式输出");
p(ArrayUtils.toString(strs));
}
}
测试结果:
=============== ArrayUtils 工具类使用 ,这个类对null的输入处理很好================
测试字符串
str1
str2
str3
向数组中末尾添加元素
str1
str2
str3
str3
向数组指定位置添加元素
str1
str3
str2
str3
向数组中添加所有元素
str1
str2
str3
str3
str4
拷贝数组
str1
str2
str3
数组中是否包含指定的元素
true
获取数组的长度
3
查找第一次出现的位置
1
判断数组是否是空的
false
判断数组是否非空
true
判断数组是否相等
false
判断数组长度是否相等
true
判断数组类型是否相同
true
查找数组中最后出现元素的位置
1
null转换成空数组
str1
str2
str3
从数组中移除指定索引的元素
str1
str3
从数组中移除所有指定的元素
str1
移除数组中指定的元素
str2
str3
移除数组中指定的所有元素
str3
颠倒数组
str3
str2
str1
子数组
str3
str2
构建数组
str1
str2
将二维数组转换成Map
key:key2value:value2
key:key1value:value1
将基本类型数组转换成包装类型
1
2
3
4
5
将包装类型数组转换成基本类型
[I@95c083
将数组用字符串的形式输出
{str3,str2,str1}