더북(TheBook)

 

icon_sec

40
확장 함수와 널이 될 수 있는 타입

때로는 눈에 보이는 것과 실체가 다를 수도 있다.

S?.f()s가 널이 될 수 있는 타입임을 암시한다. 그렇지 않다면 단순히 s.f()를 호출했을 것이다. 마찬가지로 t.f()t가 널이 될 수 없는 타입임을 암시하는 것처럼 보인다. 코틀린에서는 널이 될 수 없는 타입에 대해 안전한 호출이나 null 여부 검사가 필요 없기 때문이다. 하지만 t가 꼭 널이 될 수 없는 타입인 것은 아니다.

코틀린 표준 라이브러리는 다음과 같이 String의 확장 함수를 제공한다.

isNullOrEmpty(): 수신 Stringnull이거나 빈 문자열인지 검사한다.

isNullOrBlank(): isNullOrEmpty()와 같은 검사를 수행한다. 그리고 수신 객체 String이 온전히 공백 문자(공백뿐 아니라 탭(\t)과 새줄 문자(\n)도 포함)로만 구성되어 있는지 검사한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.