Maison  >  Questions et réponses  >  le corps du texte

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

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

高洛峰高洛峰2744 Il y a quelques jours665

répondre à tous(3)je répondrai

  • 巴扎黑

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

    1.Object est la classe parent de tous les objets.
    2. Lorsque la classe conteneur ne sait pas dans quel type elle va insérer, la conception de l'implémentation ne peut utiliser qu'un tableau Object pour stocker les éléments.
    3. Les génériques sont effacés après compilation. En d’autres termes, pour la JVM, ce qu’elle voit, c’est un objet.
    Ainsi, seul le tableau Object peut être renvoyé. Quant à l'ajout de génériques, le compilateur vous aidera avec les transtypages et la détection des éléments.

    répondre
    0
  • PHPz

    PHPz2017-04-18 10:51:20

    Ouais, bizarre.

    Il est donc recommandé d'utiliser Collection.toArray(T[] a) pour renvoyer des génériques afin d'éviter le problème de conversion forcée d'Object[].

    répondre
    0
  • PHP中文网

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

    Parce que le type spécifique d'éléments de la collection n'est pas connu. Et Object est la classe parent de toutes les classes. C'est plus raisonnable.

    répondre
    0
  • Annulerrépondre