Simple&Natural
computeIfAbsent() vs putIfAbsent() 본문
728x90
반환값의 차이 외에는 비슷한 기능을 수행하는 것 같지만 매우 중요한 차이점이 하나 있다.
바로 키가 없는 경우 computeIfAbsent은 계산 된 값을 반환하고, putIfAbsent은 null을 반환한다는 것이다.
(키가 이미 있다면 둘다 기존의 값을 그대로 출력한다)
소스코드로 살펴보자
전자의 경우 null을 출력하는 반면,
후자의 경우 2를 출력한다.
비슷한 기능으로 생각하고 전자를 쓰면 nullPointerException을 마주할 수도 있으니 주의하여 사용하여야 한다.
참고자료)
728x90
'언어 > Java&Kotlin' 카테고리의 다른 글
코틀린 SAM 인터페이스의 람다식 관련 (0) | 2020.04.08 |
---|---|
Kotlin의 null처리 (0) | 2020.03.20 |
코틀린의 캡슐화 (0) | 2020.03.19 |
자바에서 hashcode, identityHashcode, equals, == 연산자의 비교 (0) | 2020.03.16 |
for문 조건 (0) | 2020.02.26 |