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
方法类似于 Java
的 clone
方法,但它不是每个案例的解决方案。
你能告诉我如何从静态变量复制吗? 假设我有一个静态成员:
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
方法类似于 Java
的 clone
方法,但它不是每个案例的解决方案。