반응형
코틀린은 스위프트와 같이 null safe를 위해 ? 또는 !!를 지원한다.
?
var inputedStr: String? = leadline()?.toUpperCase()
해석 : 입력값이 null이 아니라면 대문자로 바꿔 inputedStr에 저장하고,
입력값이 null이라면 inputedStr는 null 이다.
?:
var inputedStr: String? = leadline()?.toUpperCase() ?: "none"
해석 : 입력값이 null이라면 우항은 "none"을 반환
* ?: 는 return,throw도 넣을 수 있다
!
val title: String = str!!
해석 : 강제로 null이 아님을 선언합니다.
그리고 NPE이 발생하더라도 해당 라인을 명확히 지목해 줍니다.
let
not null인 경우하면 지정된 구문을 실행합니다. 함수 사용시, 자신의 receiver 객체를 람다식 내부로 넘깁니다.
fun checkMail(email: String){
email?.let {
sendEmail(it)
}
}
String? type의 isNullOrBlank(), isNullOrEmpty()
fun String?.isNullOrBlack(): Boolean =
this = null || this.isBlank
java라면 NPE가 발생하는 상황에서 동작시킬 수 있다.
반응형
'Language > Kotlin' 카테고리의 다른 글
lateinit var와 lazy의 차이 (0) | 2021.10.17 |
---|---|
[Kotlin] varag (0) | 2021.10.17 |
Kotlin 이란? (0) | 2021.09.03 |