【发布时间】:2015-01-24 19:28:19
【问题描述】:
我有以下两个变量;
final Path root; // /a/b/c
final Stream<String> split; // 'd', 'e', 'f'
Path path; // /a/b/c/d/e/f
我想将split 中的每个元素解析为root。
目前我正在尝试这样做。
// is the final combiner ok?
final Path path = split.reduce(root, (p, s) -> p.resolve(s), (p1, p2) -> p1);
这是正确的方法吗?有没有其他方法可以做到这一点?
下面的代码比上面的代码好吗?
Path path = root;
split.forEach(s -> path = path.resolve(s)); // path must be final?
谢谢。
【问题讨论】:
标签: java lambda java-8 reduce java-stream