根据 java 文档所述:
Iterable<T>
允许将对象用作 for-each 语句的目标。
在java中我们可以做以下事情:
for (final <? super T> : T[]) {...}
在这种情况下,为什么 java 不能将 T[] 类型的对象视为可迭代对象,因为以下代码会因不兼容类型编译错误而崩溃:
final Iterable<T> anIterable = T[];
最佳答案
安Iterable
本身就是一个对象。数组本身就是一个对象。这两个事物不是相同的对象、相同的类型或相同的任何。他们之间实际上没有任何关系——无论是等级关系还是其他关系。
幸运的是,增强型-for
声明is overloaded to accept both arrays and Iterable<T>
,所以你不需要为此大惊小怪。
关于java - 数组无法隐式转换为可迭代对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49221402/