Dart中的“ <>”是什么意思?

时间:2019-01-29 17:45:10

标签: dart flutter

通过在线Dart课程,我发现一些值用“小于”和“大于”标记括起来,例如"List< E >"

例如

List<int> fixedLengthList = new List(5);

我找不到在线直接答案,可能是因为该问题太基础了。有人可以解释这些标记的确切含义吗?或任何可能的链接。

2 个答案:

答案 0 :(得分:2)

这是通用类型参数。它允许类的专业化。

List是一个可以包含任何值的列表(如果未传递任何类型参数,则默认使用dynamic)。 List<int> is a list that only allows integer values and为空。

您也可以将此类Type参数添加到自定义类中。
通常,单个大写字母用于类型参数名称,例如TUK,但也可以是其他名称,例如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>(将其声明为“字符串列表”)