Dart エラー「Unsupported operation: Cannot add to a fixed-length list」が発生した場合の対処法
Dartで、エラー「Unsupported operation: Cannot add to a fixed-length list」が発生した場合の対処法を記述してます。「filled」で生成したリストに対して、値を追加しようとした際に発生します。
環境
- OS windows11 home
- Dart 2.18.4
エラー全文
以下のコードを実行時に発生。
void main() {
var list = List.filled(5, 0);
print(list); // [0, 0, 0, 0, 0]
list.add(1);
print(list);
}
エラー全文
Unhandled exception:
Unsupported operation: Cannot add to a fixed-length list
#0 FixedLengthListMixin.add (dart:_internal/list.dart:21:5)
#1 main (file:///c:/sample/main.dart:6:8)
#2 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)
原因
「filled」はデフォルトでは、固定長のリストが生成されるため
対処法
「growable: true」を指定することで可変長に変更することができるの設定する。
void main() {
var list = List.filled(5, 0, growable: true);
print(list); // [0, 0, 0, 0, 0]
list.add(1);
print(list); // [0, 0, 0, 0, 0, 1]
}
-
前の記事
Jenkins ポート番号を変更する 2022.12.06
-
次の記事
sqlite 日付から指定した曜日の日付を取得する 2022.12.06
コメントを書く