package com.snowcattle.game.common.util; import java.io.Serializable; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class ArrayUtils { public static int[] intList2Array(List<Integer> list) { if (list != null) { int[] ary = new int[list.size()]; for (int i = 0; i < list.size(); i++) { ary[i] = list.get(i); } return ary; } return null; } public static int[] intSet2Array(Set<Integer> set) { if (set != null) { int i = 0; int[] ary = new int[set.size()]; for (Integer integer : set) { ary[i] = integer; i++; } return ary; } return null; } public static Long[] LongSet2Array(Set<String> set) { if (set != null) { int i = 0; Long[] ary = new Long[set.size()]; for (String key : set) { ary[i] = Long.parseLong(key); i++; } return ary; } return null; } /** * 创建一个二维数组 * * @param <T> * 数组单元的类型 * @param rows * 数组的第一维长度 * @param cols * 数组的第二位长度 * @param clazz * 数组单元的类型 * @return 如果类型实例化失败,则数组里的单元为null */ @SuppressWarnings("unchecked") public static <T> T[][] createTwoDimensionArray(int rows, int cols, Class<T> clazz) { T[][] arr = (T[][]) Array.newInstance(clazz, rows, cols); for (int y = 0; y < rows; y++) { for (int x = 0; x < cols; x++) { try { arr[y][x] = clazz.newInstance(); } catch (Exception e) { arr[y][x] = null; } } } return arr; } /** * 获取数组 * @param id * @return */ public static List<String> getList(Serializable... id) { List<String> list = new ArrayList<String>(); for(Serializable key: id){ list.add(String.valueOf(key)); } return list; } /** * 获取数组 * @param ids * @return */ public static Set<Integer> getIntegerSet(List<String> ids) { Set<Integer> list = new HashSet<Integer>(); for(String key: ids){ list.add(Integer.parseInt(key)); } return list; } }