背景:集合 list ,set 都是繼承 Collection<E>,提供了一個toArray的方法,這是沒錯的,可是不是太難滿足開發過程中的需求,因爲toArray()方法 返回的是一個Object[] ,比如我們需要String[],就有點麻煩
解決:查看方法 T 是一個泛型,返回T []
查看toArray(T[] a) 的實現源碼可知,a的length 爲 0 必定小於 集合(list,set)的長度,所以返回list所有的值到a
1、list<String> 轉 String[]
List<String> l = Arrays.asList("a", "b", "c", "d","e","f","g","d");
String[] str = resultList.toArray(new String[0]);
2、set<Long> 轉 Long[]
Set<Long> set = new HashSet<>();
set.add(1l);
set.add(2l);
set.add(3l);
set.add(4l);
Long[] strings1 = set.toArray(new Long[0]);