首頁  >  問答  >  主體

Java:在集合的遍历中,关于 Object[] toArray() 方法的疑问

Java:在集合的遍历中,方法之一为 可以调用Collection接口中的 Object[] toArray()方法 将集合转为数组。这里为什么用 Object[]类型来当返回值,感觉有点怪

高洛峰高洛峰2744 天前661

全部回覆(3)我來回復

  • 巴扎黑

    巴扎黑2017-04-18 10:51:20

    1.Object是所有物件的父類別。
    2.容器類別在不知道會放入什麼類型的情況下,實作設計只能用Object數組來存放元素。
    3.泛型在編譯之後是被擦除的。也就是說,對JVM來說,他看到的是Object。
    所以只能回傳Object數組。至於加上泛型之後,編譯器會幫你進行強制轉換和元素檢測。

    回覆
    0
  • PHPz

    PHPz2017-04-18 10:51:20

    是的,很奇怪。

    所以建議使用Collection.toArray(T[] a)來回傳泛型,避免Object[]強轉的問題。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:51:20

    因為不知道集合中元素的具體類型。而Object是所有類別的父類別。這樣比較合理一點。

    回覆
    0
  • 取消回覆