gpt4 book ai didi

java - 删除\删除绑定(bind)对象

转载 作者:行者123 更新时间:2023-12-04 09:42:34 25 4
gpt4 key购买 nike

我有 3 个哈希表/列表。
在它们内部,我有一个创建一次的类,它通过引用指向所有地方。
现在我想删除它而不去所有列表。
是否可以?

我在这里看到有一个选项可以从其中一个列表中获取对象,然后将其设置为 null。
没有为我工作。
如果我要更改其中一个项目 Prop ,那么它当然会全部更改。
我想做的一个小例子:

    Day day = new Day();
meetingDayList.add(day);
meetingDayList2.add(day);
meetingDayList3.add(day);

Day day2 = meetingDayList.stream().filter(day1 -> day1.getDayDate().isEqual(day.getDayDate())).findAny().get();
day2 = null; // Or somehow remove it from the memory so it will not show anymore

从其中一个数组中获取对象并将其从内存中删除,以便将其从所有列表中删除。
我试图在没有任何运气的情况下覆盖最终确定和销毁。

谢谢

最佳答案

由于您创建的所有对象都引用内存中的同一个对象,因此对其进行垃圾收集的唯一方法是不再引用它。

因此,在您的情况下,您还必须从您添加的所有列表中删除该对象。

Day day = new Day();
addToList(day, list1);
addToList(day, list2);
addToList(day, list3);

尽管该对象只创建了一次,但它存在于此处的三个列表中。您必须将其从所有 x 列表中删除。
removeFromList(day, list1);
removeFromList(day, list2);
removeFromList(day, list3);

在您的具体示例中,它将是:
 Day day2 = ... //obtain day2;
// for all of your lists
removeFromList(day2, list_x);

关于java - 删除\删除绑定(bind)对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62265375/

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