1 public static Object[] List2Array(List<Object> oList) { 2 Object[] oArray = oList.toArray(new Object[] {}); 3 // TODO 需要在用到的时候另外写方法,不支持泛型的Array. 4 return oArray; 5 } 6 7 public static Object[] Set2Array(Set<Object> oSet) { 8 Object[] oArray = oSet.toArray(new Object[] {}); 9 // TODO 需要在用到的时候另外写方法,不支持泛型的Array. 10 return oArray; 11 } 12 13 public static <T extends Object> List<T> Set2List(Set<T> oSet) { 14 List<T> tList = new ArrayList<T>(oSet); 15 // TODO 需要在用到的时候另外写构造,根据需要生成List的对应子类。 16 return tList; 17 } 18 19 public static <T extends Object> List<T> Array2List(T[] tArray) { 20 List<T> tList = Arrays.asList(tArray); 21 // TODO 单纯的asList()返回的tList无法add(),remove(),clear()等一些影响集合个数的操作, 22 // 因为Arrays$ArrayList和java.util.ArrayList一样,都是继承AbstractList, 23 // 但是Arrays$ArrayList没有override这些方法,而java.util.ArrayList实现了。 24 // TODO 建议使用List的子类做返回,而不是Arrays$ArrayList。根据需要吧。如下行注释: 25 // List<T> tList = new ArrayList<T>(Arrays.asList(tArray)); 26 return tList; 27 } 28 29 public static <T extends Object> Set<T> List2Set(List<T> tList) { 30 Set<T> tSet = new HashSet<T>(tList); 31 //TODO 具体实现看需求转换成不同的Set的子类。 32 return tSet; 33 } 34 35 public static <T extends Object> Set<T> Array2Set(T[] tArray) { 36 Set<T> tSet = new HashSet<T>(Arrays.asList(tArray)); 37 // TODO 没有一步到位的方法,根据具体的作用,选择合适的Set的子类来转换。 38 return tSet; 39 }