44 votes

Pourquoi Arrays.asList (...). ToArray (). GetClass () donne-t-il des résultats différents dans JDK 8 et 9?

Pourquoi la condition suivante renvoie-t-elle true avec JDK 8, alors qu'elle renvoie false avec JDK 9?

 String[].class == Arrays.asList("a", "b").toArray().getClass()

12voto

Thomas Kläger Points 1029

Je dirais que c'était un bogue dans JDK 8 et avant cela a été corrigé.

List<T>.toArray() était toujours déclaré comme retournant Object[] (voir JavaDoc ) - qu'il retournait effectivement String[] dans un cas particulier était une erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X