是否有语言支持的方式在Dart中制作完整(深)的对象副本?
仅限中学;有多种方法可以做到这一点,有什么区别?
谢谢你的澄清!
是否有语言支持的方式在Dart中制作完整(深)的对象副本?
仅限中学;有多种方法可以做到这一点,有什么区别?
谢谢你的澄清!
没有公开的问题似乎表明:
http://code.google.com/p/dart/issues/detail?id=3367
特别是:
.. Objects have identity, and you can only pass around references to them. There is no implicit copying.
没有公开的问题似乎表明:
http://code.google.com/p/dart/issues/detail?id=3367
特别是:
.. Objects have identity, and you can only pass around references to them. There is no implicit copying.
Darts内置集合使用名为“from”的命名构造函数来完成此任务。看这篇文章: 在Dart中克隆列表,地图或设置
Map mapA = {
'foo': 'bar'
};
Map mapB = new Map.from(mapA);
我想对于不太复杂的对象,你可以使用转换库:
import 'dart:convert';
然后使用JSON编码/解码功能
Map clonedObject = JSON.decode(JSON.encode(object));
如果您使用自定义类作为要克隆的对象中的值,则该类要么需要实现toJson()方法,要么必须为JSON.encode方法提供toEncodable函数,并为解码调用提供reviver方法。