gpt4 book ai didi

java - 正确使用Java规则集

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

考虑这段代码

for (MyRule cr : crList) {    
if (crIds.contains(cr.getParentId())) {
ruleSet.add(cr);

for (int cursor = 0; cursor < parentChildrenList.size(); cursor++) {
if (parentChildrenList.get(cursor).getId().equals(cr.getParentId())) {
parentChildrenList2.get(cursor).setChildRules(ruleSet);
parentChildrenList2.remove(cursor + 1);
}
}
}
ruleSet.clear();
}

当我执行 ruleSet.clear() 时我还丢失了之前在 parentChildrenList2.get(cursor).setChildRules(ruleSet); 中设置的值

我怎样才能停止丢失它,同时清除ruleSet

最佳答案

请注意,setChildRules()(可能)不会创建 ruleSet 引用的 Set 的副本。它只是复制(“记住”)对该 Set 的引用。如果您稍后修改Set(例如调用clear()),那么这对每个人都可见具有对该 Set 的引用。

似乎您希望 parentChildrenList2 中的每个元素都有自己的Set。因此,您实际上需要将 ruleSet.clear() 替换为 ruleSet = new HashSet() (或您使用的任何类型)。

关于java - 正确使用Java规则集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7671199/

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