public class ListUtil {
/**
* 合并多个list
* @param lists
* @param <T>
* @return
*/
public static <T> List<T> mergeLists(List<T>... lists) {
Class clazz = lists[0].getClass();
List<T> list = null;
try {
list = (List<T>) clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
for (int i = 0, len = lists.length; i < len; i++) {
list.addAll(lists[i]);
}
return list;
}
}
测试方法:
public class ListUtilTest {
/**
* 测试合并多个list
*/
@Test
public void testMergeLists() {
List<String> list1 = new ArrayList<String>();
list1.add("张三");
list1.add("李四");
list1.add("王五");
List<String> list2 = new ArrayList<String>();
list2.add("老张");
list2.add("老李");
list2.add("老王");
/*List<String> list = new ArrayList<String>();
list.addAll(list1);
list.addAll(list2);*/
List<String> list = ListUtil.mergeLists(new List[]{list1, list2});
System.out.println(list);
}
}