`default_list_constructor` — null safety에서는 기본 `List` 생성자를 쓸 수 없어요

default_list_constructor — null safety에서는 기본 List 생성자를 쓸 수 없어요

null safety를 켠 코드에서 List 클래스의 기본 생성자를 사용하면 이 진단이 발생해요. 빈 리스트는 리터럴로, 크기가 필요한 리스트는 List.filledList.generate로 만들면 돼요.

출처: default_list_constructor

본문

null safety에 동의한 코드에서 List 클래스의 기본 생성자를 사용하는 것을 발견하면 이 진단이 발생해요.

예시

아래 코드가 null safety에 동의한 상태라고 가정하면, 기본 List 생성자를 사용하기 때문에 이 진단이 발생해요.

var l = List<int>();

흔한 해결 방법

초기 크기가 필요 없다면, 리스트 리터럴을 사용하도록 코드를 바꿔 주면 돼요.

var l = <int>[];

초기 크기가 필요하고, 각 요소에 쓸 합리적인 초기 값이 하나뿐이라면, List.filled를 사용해 주면 돼요.

var l = List.filled(3, 0);

초기 크기가 필요하지만 각 요소를 계산해야 한다면, List.generate를 사용해 주면 돼요.

var l = List.generate(3, (i) => i);

더 알아보기