array專題二:array與ArrayList的轉換(《corejava卷2》110頁)

由于java平臺API的很大一部分都是在集合框架建立之前設計的,因此有時候需要在傳統的數組與現代的
集合之間進行轉換。

*如果你有一個數組,就需要將它轉化為一個集合,Arrays.asList包裝器能夠實現這個目的,例如:
String[] values=...;
HashSet<String> staff=new HashSet<String>(Arrays.asList(values));

*反過來,如果要從集合得到數組,操作起來就稍微麻煩一些。當然,你也可以直接使用toArray方法:
?Object[] values=staff.toArray();
?但是該方法運行的結果是得到一個Object的數組。即使知道集合包含一組具體類型的對象,也不能使用
?類型轉換:
?String[] values=(String[])staff.toArray();//error!
?toArray方法返回的數組是一個Object[]數組,你無法改變它的類型。相反,你必須使用toArray方法的
某種變體,為它賦予一個長度為0的你要使用的類型的數組。然后,返回的數組就是與該類型相同的數組了。
?String[] values=staff.toArray(new String[0]);
?如果你愿意,你還可以構建一個指定大小的數組:
?staff.toArray(new String[staff.size()]);
?在這種情況下,并沒有創建任何新的數組。