Flutter 从静态变量创建副本

Flutter create copy from static variable

你能告诉我如何从静态变量复制吗? 假设我有一个静态成员:

    static Map localData = {
        "Weapons": [
          "Rifles",
          "DMRs",
          "Sniper Rifles",
          "Shotguns",
          "Submachine Guns",
          "Lightmachine Guns",
          "Pistols",
          "Melee",
          "Throwables",
          "Misc"
        ],
    }

然后在其他 class 中,我想访问静态变量并从中复制一份,但它一直指向这个静态成员。

  Map _data = LocalData.localData;

 List<String> weapon = _data['Weapons'];
    print(weapon);
    weapon.removeAt(8);

所以当我从列表中删除数据时,静态数据也会被删除。我只想从中复制一份,所以 weapon 不是直接来自 localData。有人吗?

试试这个

List<String> weapon = List.from(_data['Weapons']);

如果您不关心 _data 变量,您的解决方案:

List<String> weapon = List.from(_data['Weapons']);

但是,如果您还想让 _data 变量独立,则需要不同的解决方案。

from 方法类似于 Javaclone 方法,但它不是每个案例的解决方案。