在Java中处理像iterable这样的对象的最佳方法是什么?

时间:2017-05-26 21:13:30

标签: java java-8 iterable

将单个对象视为可迭代的最佳方法是什么?

例如,在以下情况中......

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
    }
}

更新:
重写这一部分。

一个已经存在的函数,它接受可迭代的事物并处理它们(fun(Iterable<Object> os))。我正在为此函数添加一个别名,而不是单个项目(fun(Object o))。这个函数将被不同的实例调用很多,所以我想要用资源最有效的方法用一个项来调用Iterable函数(无论什么创建垃圾桶/得到最少的垃圾)。

或者,正如问题标题所示,Object传递给需要Iterable<Object>的函数的最佳方式是什么?

2 个答案:

答案 0 :(得分:2)

使用Collections.singleton(item)

答案 1 :(得分:2)

也许您可以查看Collections.singletonList(object)