状态更改对象而不使用相同的对象引用

时间:2015-08-17 09:47:26

标签: java core

假设我们有2个A类和B类对象。如何在不直接使用A的情况下对对象A的状态进行更改?

1 个答案:

答案 0 :(得分:1)

这实际上取决于你的情况。例如,如果你所谓的状态是在List中维护的,那么可以创建一个具有List<>的构造函数的类a。参数,然后在不直接使用A实例的情况下修改该列表。

class A {
    final List<String> list;
    A(List<String> list) {
        this.list = list;
    }

    public static void main(String[] args) {
        List<String> state = new List<>();
        A a = new A(state);
        state.add("foo");
    }
}

但是,当然,不会有关于状态变化的通知。