Java:在集合的遍历中,方法之一为 可以调用Collection接口中的 Object[] toArray()方法 将集合转为数组。这里为什么用 Object[]类型来当返回值,感觉有点怪
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
1.Object是所有物件的父類別。 2.容器類別在不知道會放入什麼類型的情況下,實作設計只能用Object數組來存放元素。 3.泛型在編譯之後是被擦除的。也就是說,對JVM來說,他看到的是Object。 所以只能回傳Object數組。至於加上泛型之後,編譯器會幫你進行強制轉換和元素檢測。
是的,很奇怪。
所以建議使用Collection.toArray(T[] a)來回傳泛型,避免Object[]強轉的問題。
因為不知道集合中元素的具體類型。而Object是所有類別的父類別。這樣比較合理一點。
1.Object是所有物件的父類別。
2.容器類別在不知道會放入什麼類型的情況下,實作設計只能用Object數組來存放元素。
3.泛型在編譯之後是被擦除的。也就是說,對JVM來說,他看到的是Object。
所以只能回傳Object數組。至於加上泛型之後,編譯器會幫你進行強制轉換和元素檢測。
是的,很奇怪。
所以建議使用Collection.toArray(T[] a)來回傳泛型,避免Object[]強轉的問題。
因為不知道集合中元素的具體類型。而Object是所有類別的父類別。這樣比較合理一點。