Kotlin에서의 Null체크


public boolean startsWithA(String str) {
    return str.startsWith("A");
}
public boolean startsWithA1(String str) {
    if (str == null) {
        throw new IllegalArgumentException("Null이 들어왔습니다");
    }
    return str.startsWith("A");
}

public Boolean startsWithA2(String str) {
    if (str == null) {
        return null;
    }
    return str.startsWith("A");
}

public boolean startsWithA3(String str) {
    if (str == null) {
        return false;
    }
    return str.startsWith("A");
}
fun startsWithA1(str: String?): Boolean {
    if (str == null) {
        throw IllegalArgumentException("Null이 들어왔습니다")
    }
    return str.startsWith("A")
}

fun startsWithA2(str: String?): Boolean? { //두번째 메소드는 null이 리턴될 수 있다.
    if (str == null) {
        return null
    }
    return str.startsWith("A")
}

fun startsWithA3(str: String?): Boolean {
    if (str == null) {
        return false
    }
    return str.startsWith("A")
}
fun startsWithA(str: String): Boolean {
		return str.startsWith("A")
}

Safe Call과 Elvis연산자


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