Les tableaux doivent appuyer Iterable
,, ils ne sont pas, pour la même raison que .NET tableaux ne prennent pas en charge une interface qui permet readonly d'accès aléatoire par la position (il n'y a pas une telle interface définie comme standard). Fondamentalement, les cadres ont souvent peu ennuyeux lacunes en eux, c'est pas la peine quelqu'un est temps de corriger. Il n'a pas d'importance si nous pourrions fixer eux-mêmes dans certains de façon optimale, mais souvent nous ne le pouvons pas.
Mise à JOUR: Pour être équitable, je l'ai mentionné .NET des tableaux de ne pas soutenir une interface qui prend en charge l'accès aléatoire par poste (voir aussi mon commentaire). Mais, dans .NET 4.5 exacte de l'interface a été définie et est pris en charge par des réseaux et de l' List<T>
classe:
IReadOnlyList<int> a = new[] {1, 2, 3, 4};
IReadOnlyList<int> b = new List<int> { 1, 2, 3, 4 };
Tout n'est pas encore tout à fait parfaite en raison de la mutable liste de l'interface IList<T>
ne pas hériter IReadOnlyList<T>
:
IList<int> c = new List<int> { 1, 2, 3, 4 };
IReadOnlyList<int> d = c; // error
Peut-être qu'il est possible de compatibilité descendante gotcha à un tel changement.
Si il n'y a aucun progrès sur des choses semblables dans les nouvelles versions de Java, je serais intéressé à savoir dans les commentaires! :)