为什么Dart充当引用传递?

问题描述

我知道dart就像Java一样通过值传递,但是我不明白为什么在下面的示例中dart像通过引用传递一样?

class A {
  int y = 10;
}

class B {
  List<A> list = [];
  void add(A a) {
    a.y = 20;
    list.add(a);
  }

  void runtest() {
    print(list[0].y);
  }
}

void main() {
  A a = A();
  B b = B();
  b.add(a);
  print(a.y);
  b.runtest();
}

结果将是

20
20

为什么在(b)内部的方法(add)中更改对象(a)的变量(y)时,同时也在main()内部更改了对象(a)的变量(y)?>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)