我想创建一个可以附加内容的缓冲区。
例如
var allInput = new Uint8List(1);
allInput.add(list)
但它告诉我,这是无法修改的。
答案 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