current 属性

T current
重写

当前元素。

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

current getter 在下一次调用 moveNext 之前应保持其值,即使底层集合发生变化。成功调用 code>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;