本教程展示了在Dart或Flutter中创建一个空Map的多种方法

空Map是一个缺乏键和值对元素的Map数据结构,Map的长度为零。
在Flutter中,API或服务方法可能会返回一个空Map,而不是null,以改善null的安全处理。
如何在Flutter或dart中创建一个空地图?
空地图可以通过多种方式创建。
- 使用类型和括号
您可以在dart中使用type和括号() ,为任何类创建一个变量。
Map map = Map();
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
或者您可以使用new关键字为地图创建一个变量
Map map = new Map();
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
上面的代码创建了一个空地图,并返回Map.length 为0(0)
这是一个没有类型安全的空地图,默认类型是Map<dynamic, dynamic> 。
如何创建一个类型化的Map?
Map<String,String> map = Map<String,String>();
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<String, String>
- 使用空字面句法
创建一个变量并使用[] 语法将其分配为空字面。
Map map = {};
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
}
要创建一个类型化版本的空字面语法 这将创建一个没有元素的空数组类型化地图。
Map<int,String> map = <int,String>{};
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<int, String>
或者你也可以使用不带类型的空字面,但变量的类型是类型化的。
Map<int,String> map = {};
print(map.length); //0
print(map.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
如何在flutter中创建一个对象的空地图
第四种方式,创建一个空的对象映射
下面是一个创建对象Map的多种方法的示例代码 创建一个雇员类,并使用Map空对象创建var emps = <int, Employee>[];
class Employee {
final int id;
final String name;
final int salary;
final DateTime joinDate;
Employee(this.id, this.name, this.salary, this.joinDate);
}
void main() {
Map<int, Employee> emps1 = new Map<int, Employee>();
print(emps1.length); //0
print(emps1.runtimeType); //JsLinkedHashMap<dynamic, dynamic>
Map<int, Employee> emps2 = <int, Employee>{};
print(emps2.length); //0
print(emps2.runtimeType); //JsLinkedHashMap<int, Employee>
Map<int, Employee> emps3 = {};
print(emps3.length); //0
print(emps3.runtimeType); //JsLinkedHashMap<int, Employee>
}
总结
本教程讲述了用int、string和object创建一个空Map的多种方法。