我這樣做:Java - 將TreeSet <String>轉換爲String []的最有效方法?
(String[]) myTreeSet.toArray();
但是,讓我在運行一個ClassCastException。
我能想到的唯一的事情就是先製作一個數組,然後迭代myTreeSet中的每個元素並將其添加到數組中。似乎必須有比這更好的方法。有,還是我應該這樣做?
謝謝。
我這樣做:Java - 將TreeSet <String>轉換爲String []的最有效方法?
(String[]) myTreeSet.toArray();
但是,讓我在運行一個ClassCastException。
我能想到的唯一的事情就是先製作一個數組,然後迭代myTreeSet中的每個元素並將其添加到數組中。似乎必須有比這更好的方法。有,還是我應該這樣做?
謝謝。
當使用toArray()
會發生以下情況:一個新的對象陣列被通過使用new Object[size]
和從陣列的每個元素將是您的字符串元件中的一個的基準分配。即使實際指向字符串,它也是類型爲Object
的數組。
當使用toArray(T[] a)
會發生以下情況:一個新型T陣列正被使用
java.lang.reflect.Array
.newInstance(a.getClass().getComponentType(), size)
,並且每個從陣列將是您的字符串中的一個參考,因爲a.getClass().getComponentType
將你的情況返回String.class
分配。這一次,它是一個String類型的數組。
太好了,非常感謝。 – Tim 2012-02-12 15:54:47
http://forums.devshed.com/java-help-9/treeset-to-an-array-401225.html – 2012-02-12 06:13:44
@ todda.speot.is:謝謝! – Tim 2012-02-12 06:23:05