我有一个带有私有字段的类,我正在使用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中那样将其作为不可修改的集合返回?
感谢
您可以使用List.unmodifiable()
构造函数。
List<String> get name => List.unmodifiable(_name);
签出文档。