【发布时间】:2010-10-20 15:35:09
【问题描述】:
假设我有一个方法,它接受一个数组并使用 Java 内置的 for-each loop 处理其中的每个元素,如下所示:
public static void myFun(SomeClass[] arr) {
for (SomeClass sc : arr) {
// Stuff is processed here
}
}
这很好用,但现在我希望能够将相同的方法传递给 List<SomeClass>。我注定要使用Collection.toArray(T []),还是有一个可以用于myFun() 的参数,它接受可以在for-each 构造中使用的任何类型?
澄清一下:我想要一个可以接受任何可迭代对象的方法签名,无论是原始数组还是集合。我可以很容易地编写两种方法,一种包装另一种,但我只是好奇是否有更好的方法。
【问题讨论】:
-
很遗憾,答案是否定的,因为数组没有实现 Iterable。