코틀린에서도
get()
으로 옵셔널 값을 가져와야한다.
그냥 get()
을 써서 값을 가져와야한다.
나는 당연히 kotlin nullable type 과 호환될 줄 알았는데 충격적이게도 아니었다.
우리가 리포지토리 구현체를 작성하는 것이 아니니 코틀린스럽지 않더라도 구현돼있는 대로 사용하는게 더 편한 것 같다!
그리고 막상 생각해보니까 nullable이나 이거나 사용성은 비슷하긴하다.
왜냐면 실제로 리포지토리 사용 로직을 작성할 때는 항상 이런식이었다.
val 뫄뫄: 마마 = 마마Repository.findById(id)
.orElseThrow { throw OOOOException("...") }
옵셔널을 사용하는 것도 진짜 간단했다.
제발 생각이라는 것을 하자.
실제로 코틀린에서 nullable 처리를 할 때는 다음처럼 진행한다.
fun returnNullable(isNull: Boolean): String? {
if (isNull) return null
return "Nonnull"
}
fun nullableTest(hi: Boolean) {
val nullableStr: String = returnNullable(hi) ?: throw IllegalStateException()
}
그냥 아무 생각이 없었다. 반성하자
"제발 생각이라는 것을 하자" ㅋㅋㅋㅋㅋ 잘 읽고 갑니다 :)