通过在线Dart课程,我发现一些值用“小于”和“大于”标记括起来,例如"List< E >"。
例如
List<int> fixedLengthList = new List(5);
我找不到在线直接答案,可能是因为该问题太基础了。有人可以解释这些标记的确切含义吗?或任何可能的链接。
答案 0 :(得分:2)
这是通用类型参数。它允许类的专业化。
List
是一个可以包含任何值的列表(如果未传递任何类型参数,则默认使用dynamic
)。
List<int> is a list that only allows integer values and
为空。
您也可以将此类Type参数添加到自定义类中。
通常,单个大写字母用于类型参数名称,例如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
答案 1 :(得分:0)
例如,如果您希望列表仅包含一个字符串,则可以将其声明为List<String>
(将其声明为“字符串列表”)