我有一个运行链接方法的程序
MyObject o = MyObject.getInstance().method1().method2().go();
现在,这个实例返回多行数据,
我可以在循环中执行它们但我宁愿这样做:
MyObject o = MyObject.getInstance().foreach().method1().method2().go();
我用过for each
在Java中可以这样做吗?
您可以在Java 8中执行此操作,假设getInstance()返回一个流:
MyObject.getInstance().forEach(item-> item.method1().method2().go() );
请参阅此处的流API文档:https://docs.oracle.com/javase/tutorial/collections/streams/
不,foreach不返回迭代器。
但是,map
和flatMap
提供了可以迭代的返回值。见https://stackoverflow.com/a/26684710/553865