equals와 ==의 차이
289
작성한 질문수 7
tbl.date.equals(date)
대신
tbl.date == date
로 비교하면
The return type 'bool' isn't a 'Expression<bool?>', as required by the closure's context.
라는 에러가 나던데 정확한 의미가 궁금합니다.
답변 1
0
안녕하세요.
'=='은 Dart 언어에서 제공해주는 비교 오퍼레이터입니다.
말씀하시는 .equals는 Moor에서 제공해주는 API입니다.
이 둘은 매우 다른 근본적인 차이점이 있는데 일단 Moor는 Dart 언어로 실행되지 않는다는 점입니다.
Moor 자체는 Dart 언어지만 Moor로 작성된 쿼리는 SQL로 "변환돼서" SQLite에서 실행됩니다.
그러니 SQL 컨텍스트에서 '=='은 아무런 의미가 없습니다. 그대로 변환을 한다해도 실제로 '='를 두개 사용하는 문법은 존재하지 않습니다.
하지만 .equals를 사용하면 실제 SQLite에서 사용하는, 저희가 Dart 언어에서 '=='로 사용하는 방식에 해당되는 값으로 "전환"이 됩니다.
그렇기때문에 꼭 equals 메소드를 사용하셔서 쿼리를 작성하셔야합니다.
LocationPermission.denied관련 질문입니다
0
588
1
videocontrollor dispose
0
431
1
onlogotap함수의 video nullable관련질문
0
391
1
setState 사용 차이
1
441
1
블로그 웹앱 배포 방법
0
508
1
sizedbox 위젯에 primary = RED_COLOR
1
434
1
개념 강의 순서 질문
0
409
1
materialstateProperty 다른 메소드관련질문
0
414
1
내 노트 모아보기
0
502
1
SafeArea (iPhone, Android)
0
408
1
web view 실행 안됩니다.
0
408
1
랜덤 숫자 생성기 프로젝트 관련
0
537
2
안도르이드 애뮬레이터 질문
0
384
1
super를 사용하는 건, 부모와 자식 클래스의 파라미터 이름이 꼭 같아야하나요?
0
474
1
선생님 flutter device를 크롬으로 했을때 http 통신이 안됩니다..
0
782
1
no element
0
442
1
암호화
0
235
1
책과 강의
0
387
1
voidcallback함수와 클래스내에 변수선언에 관한질문
0
475
1
android studio 세팅
0
480
1
오늘도 출근 세팅하기
2
563
1
재사용 클래스 임폴트 방법
0
480
1
가상화를 못하는 CPU인건가요? 확인 부탁드립니다.
0
400
1
flutter dispose 관련
0
1390
2





