ホームページ  >  に質問  >  本文

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

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

高洛峰高洛峰2744日前669

全員に返信(3)返信します

  • 巴扎黑

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

    1.Object はすべてのオブジェクトの親クラスです。
    2. コンテナー クラスにどのような型が格納されるかがわからない場合、実装設計では要素を格納するためにオブジェクト配列のみを使用できます。
    3. ジェネリックはコンパイル後に消去されます。言い換えれば、JVM にとって、目に見えるのはオブジェクトです。
    したがって、オブジェクト配列のみを返すことができます。ジェネリックスの追加に関しては、コンパイラがキャストと要素の検出を支援します。

    返事
    0
  • PHPz

    PHPz2017-04-18 10:51:20

    そう、奇妙だ。

    したがって、Object[] の強制変換の問題を避けるために、Collection.toArray(T[] a) を使用してジェネリックを返すことをお勧めします。

    返事
    0
  • PHP中文网

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

    コレクション内の要素の特定の種類がわからないためです。そして、Object はすべてのクラスの親クラスです。これはより合理的です。

    返事
    0
  • キャンセル返事