flutter - 使用 Getter 时返回不可修改的列表
问题描述
我有一个带有私有字段的类,我正在使用 getter 来访问这些私有字段:
List<Event> get events {
return _events;
}
问题是当我得到事件并改变它的值时,原始值(_events)也会改变。
userProfile.events.removeWhere((event)=> event.id == "1"); //this modifies _events as well
如何更改此行为,以便仅更改events
而不影响原始_events
值?
我可以这样做:
List<Event> get events {
return [..._events];
}
这基本上是一个副本,_events
但是有没有办法像我们在Java中那样将它作为不可修改的集合返回?
谢谢
解决方案
推荐阅读
- android - 对话框 - 不必要的多重绘图?
- manifest - 触发 Beforeinstallprompt 事件后添加到主屏幕不提示
- java - 给定一个整数数组,返回数组中 9 的个数
- android - 如何在 Android Q 中从 Uri 获取图像的实际路径?
- azure - Azure CLI - 删除订阅?
- python-2.7 - 在 softmax 层之前提取输出,然后手动计算 softmax 会得到不同的结果
- html - 使文本占用与网格中的图片一样多的空间
- go-cd - 如何撤消 GOCD 服务器的已删除代理?
- javascript - jQuery + slick 滑块:.on('afterChange') 事件触发,但 div 的 .fadeTo(1) 有时在页面重新加载时不可见
- c# - 打开 C# 脚本时 Unity 挂起