isEmpty
값 기반 비어 있음 검사입니다. null, '', 그리고 빈 컬렉션에 대해 true를 반환합니다.
bool isEmpty(Object? value)
강의
이것은 결코 Iterable.isEmpty와 같은 것이
아닙니다 — 모든 List, Set, Fx 체인에서
이미 거저 얻는 그 게터 말입니다.
그 게터는 이터러블에만 있어서, null에 대해서는 예외가 나거나
아예 쓸 수조차 없습니다. FxTS의 isEmpty는 어떤
값이든 받아서 더 넓은 질문에 답합니다. 실용적인 의미에서 이 값은
"아무것도 아닌" 것인가? null, 빈 String, 그리고
빈 Iterable/Map/Set에 대해
true를 반환하고, 그 밖의 모든 값에는 false를
반환합니다. 숫자와 불리언도 여기 포함되며, 결코 "비어 있다"고 보지 않습니다.
인자가 Object? 하나뿐이라서, 별도의 람다로 감쌀 필요 없이
filter나 reject를 비롯해 술어 자리를 요구하는
어디에든 tear-off로 그대로 넘길 수 있습니다.
데모 1 · 기본
데모 2 · filter에 바로 넘기는 tear-off로
잡다한 값들을 모아 놓고, isEmpty가 비어 있다고 보는 것만
남깁니다(출력된 빈 문자열은 쉼표 사이의 빈 자리로 나타납니다):
직접 해 보기
연습: isEmpty로 comment가 비어 있으면 'no comment'를, 아니면 댓글 자체를 출력해 보세요.
관련 항목:
compact — 이터러블에서 null 제거하기 ·
compactObject — Map에서 null 제거하기 ·
predicates — filter에 바로 쓸 수 있는 타입 검사 모음 ·
includes — 이웃한 포함 여부 검사