Dart 为什么允许最终变量更改其值? void main(){ 最终数值=[]; 数量增加(1); 打印(num); }
输出Dart 为什么允许最终变量更改其值? void main(){ 最终数值=[]; 数量增加(1); 打印(num); },dart,Dart,输出 1 如果初始化了final变量,则无法更改它,但为什么它允许我更改值,而不允许我重新指定值,如num=5?通过调用 final nums=[] 您创建了一个动态类型的空列表 此列表本身是最终列表,您无法重新分配它 但是,您可以轻松地将新项目添加到列表中,因为这只是列表中的一个方法 换句话说,使一个变量final意味着它不能被重新分配,但并不意味着它不能更改 最后一个变量只能设置一次 请参阅以了解更多信息 一个重要的注意事项是Dart中的类可能是双精度或整数,因此将其用作变量名不是一个
1
如果初始化了final
变量,则无法更改它,但为什么它允许我更改值,而不允许我重新指定值,如num=5代码>?通过调用
final nums=[]代码>
您创建了一个动态类型的空列表
此列表本身是最终列表,您无法重新分配它
但是,您可以轻松地将新项目添加到列表中,因为这只是列表中的一个方法
换句话说,使一个变量final
意味着它不能被重新分配,但并不意味着它不能更改
最后一个变量只能设置一次
请参阅以了解更多信息
一个重要的注意事项是Dart中的类可能是双精度或整数,因此将其用作变量名不是一个好的做法。这是否回答了您的问题?因为该变量是最终的,您不能将其更改为不同的数组-但数组本身是可变的,您可以更改其内部状态(例如添加元素)