빈 값이 들어갈 수가 있으며 이를 null이라고 한다.
Java에서는 null이 들어가면서 발생하는 오류(예외)를 NPE(Null PointerException) 이라고 한다.
반면 Kotlin에서는 따로 정해진 null 예외처리가 없으며 기본적으로 변수에는 null 값이 들어갈 수 없다.
1. Nullable / NonNull
Nullable : 변수에 null을 넣을 수 있다는 의미
NonNull : 변수에는 기본으로 null이 들어올 수 없으니 해당 변수는 NonNull
1-1) ' ? '를 사용한 null 체크 방법
//기본적으로 코틀린은 NonNull type;
var name = "jacob"
//"?"를 붙여주면 null 사용 가능 ?을 넣어야하기 때문에 타입을 생략하면 안됨
var nullName : String? = null;
// name은 NonNull 타입이기 때문에 바로 UpperCase 사용 가능
var nameUpper = name.toUpperCase()
// ?을 넣어 줌으로써 null아니면 toUpperCase를 실행하고 null이면 null을 반환해라
var nullNameUpper : String? = nullName?.toUpperCase()
1-2) ' ?: '를 사용한 default 값
var lastName : String? = null
// null이면 "No lastName" 출력
val fullName = name + (lastName?: "No lastName")
1-3) ' !! '를 사용한 null이 아님을 명시
fun aa ( str : String?){
//val NotNull = str -> null일수도 있기 때문에 오류가 남
val NotNull = str!! // 여기에 null올 수가 없어 null이 아니라고 명시
//null이 아니라고했기 때문에 ? 없이 사용 가능
val upper = NotNull.toUpperCase()
}
1-4) let를 사용한 null 체크 함수 생성
val email : String? = "kib3388@naver.com"
// email이 null이 아니면 let안에 함수 실행
email?.let{
println("my email is ${email}")
}
반응형
'Kotlin' 카테고리의 다른 글
[Kotlin] Retrofit 사용한 API 통신 방법 (0) | 2022.11.14 |
---|---|
[Android] 앱 배포(1) 앱 번들(App Bundle) release 파일 생성 방법 (0) | 2022.11.09 |
[Kotlin] Fragment Navigation 화면 전환 방법 (0) | 2022.11.02 |
[Kotlin] RecyclerView 사용 방법 (0) | 2022.10.31 |
[Kotlin] Observer Pattern(옵저버 패턴) 사용 방법 (1) | 2022.10.05 |