current 属性

T current
覆盖

当前元素。

如果迭代器尚未移动到第一个元素(尚未调用moveNext),或者如果迭代器已经移动到Iterable的最后一个元素之后(moveNext返回false),则current是不确定的。在这种情况下,迭代器可能抛出异常或返回特定的默认值。

即使底层集合发生变化,current属性应该保持其值,直到下一次调用moveNext。在成功调用moveNext之后,用户不需要缓存当前值,可以直接从迭代器读取。

final colors = ['blue', 'yellow', 'red'];
var colorsIterator = colors.iterator;
while (colorsIterator.moveNext()) {
  print(colorsIterator.current);
}

示例的输出是

blue
yellow
red

实现

T get current => _current as T;