0
例如:爲什麼List <T> .toArray()返回的是通用Object []而不是T []?
List<String> items = new ArrayList<String>();
String[] aItems = items.toArray(); // type error, because toArray() returns Object[]
我明白,這是事情是這樣的,它不能改變。當然我可以將它轉換爲String [],但我不知道它背後的想法是什麼?這是Java中的一個「bug」嗎,還是有很好的理由?
更好地使用'items.toArray(new String [items.size()])'來防止分配額外的數組對象。如果數組大小等於'List'大小,那麼'items'元素將被複制到給定的數組,而方法將返回該數組,而不是新創建的數組。 – Lennier
我還是不明白爲什麼不能列表().toArray()return T []?我不明白如何能夠返回其他任何東西。 –
nagylzs
哦,我現在看到。你不能這樣宣佈。那麼,我不認爲這是一個很好的理由。我把它看作語言障礙。 – nagylzs