gpt4 book ai didi

java - Guava Collections2.transform 不起作用

转载 作者:行者123 更新时间:2023-12-01 07:26:01 24 4
gpt4 key购买 nike

我在调试器中启动以下代码:

List<MyBean> target = getMyBeans();
Collections2.transform(target, new Function<MyBean, MyBean>() { //BREAKPOINT: target.length equals 4
@Nullable
@Override
public MyBean apply(@Nullable MyBean bean) {
return removeUnnecessaryProperties(bean); //BREAKPOINT: never invoked
}
});

问题: 尽管 target 有 4 个元素,但从未调用 Collections2.transform

问题:为什么Collections2.transform从未被调用?

最佳答案

transform 返回一个新的Collection,仅根据需要转换底层集合中的元素。因此,例如,当您迭代返回的 Collection 时,将为 target 中的每个元素调用您的 Function 一次。

根据您的代码判断,您真正想要做的事情要简单得多(假设 removeUnnecessaryProperties 返回传递给它的相同对象):

for (MyBean bean : target) {
removeUnnecessaryProperties(bean);
}

关于java - Guava Collections2.transform 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540670/

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