fillRange 方法

void fillRange(
  1. int start,
  2. int end,
  3. [E? fill]
)
override

使用 fillValue 覆盖一个范围的元素。

将大于等于 start 且小于 end 的位置设置为 fillValue

提供的范围(由 startend 给出)必须有效。从 startend 的范围是有效的,如果 0 ≤ startendlength。一个空的范围(end == start)是有效的。

如果元素类型不可为空,则必须提供 fillValue,并且它不能为 null

示例

final words = List.filled(5, 'old');
print(words); // [old, old, old, old, old]
words.fillRange(1, 3, 'new');
print(words); // [old, new, new, old, old]

实现

void fillRange(int start, int end, [E? fill]) {
  // Hoist the case to fail eagerly if the user provides an invalid `null`
  // value (or omits it) when E is a non-nullable type.
  E value = fill as E;
  RangeError.checkValidRange(start, end, this.length);
  for (int i = start; i < end; i++) {
    this[i] = value;
  }
}