将单个对象视为可迭代对象的最佳方式是什么?在Java中处理像迭代器这样的对象的最佳方式是什么?
例如,在以下情况下...
public void fun(Object o) {
fun(new TempList(o));
}
public void fun(Iterable<Object> os) {
try {
for(Object o : os)
// Write to server
System.out.println(o);
} catch(Exception e) {
// log e
}
}
UPDATE:
重述这一部分。
函数已经存在,需要对事物进行迭代并对其进行处理(fun(Iterable<Object> os)
)。我为这个函数添加一个别名,它取而代之(fun(Object o)
)。这个函数将被不同的实例调用,所以我想用最简单的资源有效的方式来调用Iterable函数(不管创建最少的垃圾/最快的清理)。
或者正如问题标题所示,将Object
传递给需要Iterable<Object>
的函数的最佳方法是什么?
数组不是可迭代的,但是您也可以对其使用enhanced-for语句。你究竟在努力完成什么? – Makoto
另一种方法是使用[Collections.singleton(o)](https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html#singleton-T-),它会生成一个单项集,这是一个Iterable。 –
“,但该函数使用的资源短暂,但使用比许多垃圾资源更有效率” - 不清楚,您是否可以进一步解释动机? – alfasin