Default values currently need to be const. This might change in the future.
If your default value can be const, adding const
would be enough
class sample{
final int x;
final List<String> y;
sample({this.x = 0, this.y = const ["y","y","y","y"]});
}
Dart usually just assumes const
when const
is required, but for default values this was omitted to not break existing code in case the constraint is actually removed.
If you want a default value that can’t be const because it’s calculated at runtime you can set it in the initializer list
class sample{
final int x;
final List<String> y;
sample({this.x = 0; List<String> y}) : y = y ?? ["y","y","y","y"];
}