코틀린에서 null을 다루는 방법

조현재·2023년 5월 30일
0

Kotlin

목록 보기
2/2

kotlin에서의 null 체크

//안전하지 않다
public boolean startsWithA(String str){
	return str.startsWith("A");
}
  1. str이 null일 경우 Exception을 낸다.
public boolean startsWithA1(String str){
	if(str == null) {
     throw new IllegalArgumentException("null이 들어왔습니다");
     }
     return str.startsWith("A");
}
  1. str이 null일 경우 null을 반환한다.
public Boolean startsWithA2(String str){
	if(str == null) {
    	return null;
    }
    return str.startsWith("A");
}
  1. str이 null일 경우 false를 반환한다.
public boolean startsWithA3(String str){
	if(str == null) {
    	return false;
    }
    return str.startsWith("A");
}

Safe Call과 Elvis 연산자

//safe call
val str: String? = "ABC"
str.length //불가능
str?.length //가능

널 아님 단언!!

nullable type이지만, 아무리 생각해도 null이 될 수 없는 경우

fun startsWtih(str: String?): Boolean {
	return str!!.staartsWith("A")
}

코틀린이 플랫폼타입 즉 다른 언어의 타입 중 null 관련 정보를 알 수 없는 타입 Runtime 시 Exception이 날 수 있다

profile
내일이 다른

0개의 댓글