作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Dart 中,如果要创建不可修改的列表,可以使用 List.unmodifiable() 或 UnmodifiableListView
List<int> list = [1, 2, 3];
List<int> unmodifiableList = List.unmodifiable(list);
UnmodifiableListView unmodifiableListView = UnmodifiableListView(list);
最佳答案
List.unmodifiable
是 List
构造函数;它创建了一个新的 List
目的。它创建了原始 List
的副本,并且该副本不能变异。变异原 List
不会影响副本。UnmodifiableListView
是原始 List
周围的包装器(“ View ”) ,并且原始不能通过 UnmodifiableListView
变异.原始突变 List
在UnmodifiableListView
中仍然可以观察到.
例如:
import 'dart:collection';
void main() {
var originalList = [1, 2, 3];
var unmodifiableCopy = List<int>.unmodifiable(originalList);
var unmodifiableView = UnmodifiableListView(originalList);
originalList[0] = -1;
print('$unmodifiableCopy'); // Prints: [1, 2, 3]
print('$unmodifiableView'); // Prints: [-1, 2, 3]
}
关于dart - 在 Dart 中,List.unmodifiable() 和 UnmodifiableListView 有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61404551/
在 Dart 中,如果要创建不可修改的列表,可以使用 List.unmodifiable() 或 UnmodifiableListView List list = [1, 2, 3]; List un
我是一名优秀的程序员,十分优秀!