问题描述
我知道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 (将#修改为@)