기타 표준 함수

OneTwoThree·2022년 7월 29일
0

부스트코스 코틀린

목록 보기
20/26

[부스트코스] 기타 표준 함수

takeIf(), takeUnless()

takeif 함수는 람다식이 true이면 T를 반환하고 아닐 경우 null 반환
takeUnless 함수는 람다식이 false이면 T를 반환하고 아닐 경우 null 반환

매개변수 람다식의 반환형이 Boolean 형임을 볼 수 있다.
takeIf의 반환형은 T?로 Nullable type이다.
람다식인 predicate에 this를 넣은 식을 if 조건문으로 사용해서 this를 반환할지 null을 반환할지 결정한다.


사용 예시이다.
기존에는 null 검사를 하고 내용을 실행해야 했다.
또는 세이프콜로 개선했다.

takeIf를 사용하면 세이프콜과 takeIf를 같이 사용한다.

takeIf의 람다식 결과가 false면 elvis 연산자 좌측이 null이 되면서 우측 내용인 keyword not found를 출력한다.

시간 측정


먼저 현재시간을 측정하고 시간측정 함수에 인자로 전달된 코드 (시간측정하고자 하는 코드)를 실행하고 다시 현재시간을 측정한다.
그리고 시간차를 계산해서 Long 형으로 반환해준다.

난수 생성

java.util.Random은 JVM에만 특화된 난수를 생성한다.
kotlin.random.Random을 사용하는 것이 좋다.

0개의 댓글