4

我想创建一个可以附加东西的缓冲区。

例如

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

但它告诉我这是不能修改的。

4

2 回答 2

5

根据API 文档,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

于 2013-01-09T16:36:51.037 回答
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

于 2013-01-09T18:36:27.830 回答