【发布时间】:2019-01-29 17:45:10
【问题描述】:
通过在线 Dart 课程,我发现了一些用“小于”和“大于”标记括起来的值,例如 "List< E >"。
例如
List<int> fixedLengthList = new List(5);
我在网上找不到直接的答案,可能是因为这个问题太基础了。有人能解释一下这些标记到底代表什么吗?或任何可能的链接。
【问题讨论】:
通过在线 Dart 课程,我发现了一些用“小于”和“大于”标记括起来的值,例如 "List< E >"。
例如
List<int> fixedLengthList = new List(5);
我在网上找不到直接的答案,可能是因为这个问题太基础了。有人能解释一下这些标记到底代表什么吗?或任何可能的链接。
【问题讨论】:
这是泛型类型参数。它允许专业化类。
List 是一个可以包含任何值的列表(如果没有传递类型参数,则默认使用dynamic)。
List<int> is a list that only allows integer values andnull`。
您也可以将此类类型参数添加到您的自定义类中。
通常单个大写字母用于类型参数名称,例如T、U、K,但它们可以是其他名称,例如TKey ...
class MyClass<T> {
T value;
MyClass(this.value);
}
main() {
var mcInt = MyClass<int>(5);
var mcString = MyClass<String>('foo');
var mcStringError = MyClass<String>(5); // causes error because `5` is an invalid value when `T` is `String`
}
另见https://www.dartlang.org/guides/language/language-tour#generics
【讨论】:
例如,如果您希望列表只包含字符串,您可以将其声明为List<String>(读作“字符串列表”)
【讨论】: