Java:在集合的遍歷中,方法之一為 可以調(diào)用Collection接口中的 Object[] toArray()方法 將集合轉(zhuǎn)為數(shù)組。這里為什么用 Object[]類型來(lái)當(dāng)返回值,感覺(jué)有點(diǎn)怪
3 回答

慕雪6442864
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
1.Object是所有對(duì)象的父類。
2.容器類在不知道會(huì)放入什么類型的情況下,實(shí)現(xiàn)設(shè)計(jì)只能用Object數(shù)組來(lái)存放元素。
3.泛型在編譯之后是被擦除的。也就是說(shuō),對(duì)于JVM來(lái)說(shuō),他看到的是Object。
所以只能返回Object數(shù)組。至于加上泛型之后,編譯器會(huì)幫你進(jìn)行強(qiáng)制轉(zhuǎn)換和元素檢測(cè)。

波斯汪
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
是的,很奇怪。
所以推薦使用Collection.toArray(T[] a)來(lái)返回泛型,避免Object[]強(qiáng)轉(zhuǎn)的問(wèn)題。
添加回答
舉報(bào)
0/150
提交
取消