gpt4 book ai didi

java - 使用 Java8 返回对象本身 N 次的重复方法

转载 作者:行者123 更新时间:2023-11-29 09:39:07 24 4
gpt4 key购买 nike

我想用 Java 8 风格实现以下代码:

public Path getSomeParent(Path path, int depth) {
Path someParent = path;
for (int i = 0; i < depth; i++) {
someParent = someParent.getParent();
}
return someParent;
}

尽管这个问题如我所想的那样普遍,但到目前为止还没有运气。

第一个想法是用 reduce 来做,但是 getParent() 不是关联的,不是吗?

第二个是使用 IntStream.range(0, depth) 但我没有找到用它完成这项任务的方法。它适用于返回 void 的方法,仅此而已。

提前致谢。

最佳答案

如果你真的想要,你可以使用

return Stream.iterate(path, Path::getParent).skip(depth).findFirst().get();

但我不推荐。您的原始循环没问题。

关于java - 使用 Java8 返回对象本身 N 次的重复方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30344126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com