如何返回memberVariable(包含Object)
然后重置成员变量
这是一个示例代码:
public class SomeClass extends Observable {
private Object someObject;
private void whenSomethingHappens() {
this.setChanged();
this.notifyObservers(someObject); // TODO: return the object without copying it in RAM
this.someObject = new Object(); // TODO: create a new empty object somwhere else in RAM such as it doesn't override the returned object of before
}
}
答案 0 :(得分:3)
您已经完成了所需的代码。
this.notifyObservers(someObject)
将someObject的引用传递给方法notifyObservers
。没有创建新对象,因此没有使用额外的内存(除了创建对现有对象的附加引用之外)。
this.someObject = new Object();
这将在内存中创建一个新对象,然后覆盖引用someObject
。如果notifyObservers
存储了对原始对象的引用,则它不受此行代码的影响。