容器转换成为指定数组
每次希望容器转换成为数组的时候,官方都值提供了转换成为Object数组的,
有的时候还是需要自己手动转换,可是每次都写就会觉得很烦,今天终于研究了一个方法出来了,
终于可以可以省事了
/** * 容器转换成数据,支持泛型 * */ public static <T> T[] collectionToArray(Collection<T> coll){ T[] ts = null ; try { if(coll == null || coll.isEmpty()){ return ts; } ts = collectionToArray(coll , null ) ; } catch (Exception e) { try { ts = collectionToArray(coll , Object.class ) ; } catch (Exception e2) { e2.printStackTrace( ) ; } } return ts ; } /** * 转换类型 * */ private static <T> T[] collectionToArray(Collection<T> coll , Class<?> clazz){ Iterator<T> iterator = coll.iterator() ; T[] ts = null ; int x=0 ; while(iterator.hasNext()){ T tempT = iterator.next() ; if(x == 0){ ts = (T[])Array.newInstance(clazz != null ? clazz : tempT.getClass() , coll.size()) ; } ts[x++] = tempT ; } return ts ; }
补充:软件开发 , Java ,