'==' 연산자의 매개변수 타입은 non-nullable 이어야 해요
'==' 연산자의 매개변수 타입은 non-nullable 이어야 해요
== 연산자를 오버라이드할 때, 그 매개변수의 타입이 nullable 일 때 분석기가 알려주는 진단이에요.
본문
== 연산자를 오버라이드했는데 그 매개변수의 타입이 nullable 이면 이 진단이 발생해요. 언어 명세상 이 메서드의 인자는 null 이 될 수 없도록 되어 있어서, 매개변수의 타입도 그 사실을 반영해야 해요.
아래 코드는 C 의 == 연산자 구현 때문에 이 진단이 나와요.
class C {
@override
bool operator ==(Object? other) => false;
}
고치는 방법
매개변수 타입을 non-nullable 로 만들어 주면 돼요.
class C {
@override
bool operator ==(Object other) => false;
}
더 알아보기
- 연산자 오버라이드와 Equatable 패턴에 대한 자세한 내용은 Dart 공식 문서의 operators 자료를 참고해요.