我在A类中有一个方法“doA”,它在类B中调用方法“doB”,再次调用“doA”。地图在每次调用中作为参数传递,在“doB”中更改。 通过所有递归调用都需要该映射,但这是特定实现状态的一部分,尽管我实际上希望A类与该状态无关,因为其他实现不需要它,当然我也不需要我想在其他地方移动完全相同的问题。
class A {
public void doA(Map state) {
b.doB(state)
}
}
class B {
public void doB(Map state) {
if (someCondition) {
a.doA(processState(state))
}
}
}
答案 0 :(得分:0)
我能想到的唯一方法是创建一个临时地图,并在满足条件时复制所有元素,并在使用后取消引用临时地图,以便垃圾收集器处理它。