java删除\删除绑定对象
我有3个哈希表/列表。 在它们内部,我创建了一个类,它通过引用指向所有位置。 现在我想删除它,而不去所有的列表。 可能吗
我看到这里有一个选项,可以从一个列表中获取对象,然后将其设置为null。 不适合我。 如果我改变了一个道具,那么它当然会改变。 我想做的一个小例子:
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
从其中一个数组中获取对象,并将其从内存中删除,以便将其从所有列表中删除。 我试图在没有任何运气的情况下推翻和摧毁
谢谢
# 1 楼答案
由于您创建的所有对象都引用内存中的同一个对象,因此将其垃圾回收的唯一方法是不再对其进行任何引用
因此,在您的情况下,您也必须从添加对象的所有列表中删除该对象
尽管该对象只创建了一次,但它仍存在于三个列表中。您必须将其从所有x列表中删除
在您的具体示例中,它将是:
# 2 楼答案
你已经做到了。使用collect而不是findAmy()
您将收集不带过滤器数据的列表