如何创建可修改的dart数组

时间:2013-01-09 16:26:31

标签: dart

我想创建一个可以附加内容的缓冲区。

例如

  var allInput = new Uint8List(1);
  allInput.add(list)

但它告诉我,这是无法修改的。

2 个答案:

答案 0 :(得分:2)

根据API docs,Uint8List是一个固定列表。您可以使用以下代码:

var allInput = new Uint8List(1);
allInput[0] = 123;

如果您想要一个可增长的列表,您可以执行以下操作:

var allInput = new List();
allInput.addAll(list);

var allInput = new List<int>();
allInput.addAll(list);

基本上,如果在创建列表时提供大小说明符,则会使其大小固定。否则它是可扩展的(ref

答案 1 :(得分:1)

Chris在他的回答中写道今天是正确的,但是很快就会开始,当给出长度参数时,通用List构造函数将不是固定长度。之后,列表的大小仍然可以更改。 List还有一些额外的命名构造函数:

factory List.fixedLength(int length, {E fill: null})
factory List.filled(int length, E fill)

这些将有助于构建固定长度列表和创建具有预填充值的列表。

有关List的前沿变化的详细信息,请参阅:

http://api.dartlang.org/docs/bleeding_edge/dart_core/List.html