조건 확인 함수
특정 값의 일치 여부 확인 : check, require
인자의 값(true/false)에 따른 처리 (false일 때에 대한 처리용)
-
false일때 exception 발생
-
flase일때 exception 발생 및 메세지 출력 (lazyMessage)
fun check(value: Boolean) (throws IllegalStateException)
fun check(value: Booelan, lazyMessage: () -> Any) (throws IllegalStateException)
fun <T : Any> checkNotNull(value: T?) : T (throws IllegalStateException)
fun <T : Any> checkNotNull(value: T?, lazyMessage: () -> Any) : T (throws IllegalStateException)
fun require(value: Boolean) (throws IllegalArgumentException)
fun require(value: Boolean, lazyMessage: () -> Any) (throws IllegalArgumentException)
fun <T : Any> requireNotNull(value: T?) : T (throws IllegalArgumentException)
fun <T : Any> requireNotNull(value: T?, lazyMessage: () -> Any) : T (throws IllegalArgumentException)
fun main(args: Array<String>) {
val arg = false
//1번 형태
check(arg)
//2번 형태
check(arg) { "오류가 발생했습니다."}
}
//1번 메세지
Exception in thread "main" java.lang.IllegalStateException: Check failed.
at FileKt.main (File.kt:4)
//2번 메세지
Exception in thread "main" java.lang.IllegalStateException: 오류가 발생했습니다.
at FileKt.main (File.kt:4)
명시적으로 실행 중단하기 : error, TODO
fun error(message: String): Nothing (throws IllegalStateException)
fun TODO(): Nothing (throws NotImplementedError)
fun TODO(reason: String): Nothing (throws NotImplementedError)
fun main(args: Array<String>) {
error("에러가 발생했습니다.")
TODO("작성해야 할 부분")
}
Exception in thread "main" java.lang.IllegalStateException: 에러가 발생했습니다.
at FileKt.main (File.kt:2)
Exception in thread "main" kotlin.NotImplementedError: An operation is not implemented: 작성해야 할 부분
at FileKt.main (File.kt:2)
컬렉션 생성 함수
배열
fun <T> arrayOf(vararg elements: T): Array<T>
fun <T> emptyArray(): Array<T>
fun <T> arrayOfNulls(size: Int): Array<T?>
fun booleanArrayOf(vararg elements: Boolean): BooleanArray
fun byteArrayOf(vararg elements: Byte): ByteArray
fun charArrayOf(vararg elements: Char): CharArray
fun doubleArrayOf(vararg elements: Double): DoubleArray
fun floatArrayOf(vararg elements: Float): FloatArray
fun intArrayOf(vararg elements: Int): IntArray
fun longArrayOf(vararg elements: Long): LongArray
fun shortArrayOf(vararg elements: Short): ShortArray
val chars = charArrayOf('a', 'b', 'c', 'd', 'e')
val numbers = intArrayOf(1, 2, 3, 4, 5)
리스트
fun <T> listOf(vararg elements: T): List<T>
fun <T> listOf(element: T): List<T>
fun <T> listOf(): List<T>
fun <T: Any> listOfNotNull(vararg elements: T?): List<T>
funt <T: Any> listOfNotNull(element: T?): List<T>
출처 : 저서 커니의 코틀린 (요약, 정리), https://kotlinlang.org
'IT개발 > Kotlin' 카테고리의 다른 글
Kotlin design pattern (0) | 2020.01.13 |
---|---|
Kotlin의 null 처리 (0) | 2020.01.09 |
코루틴 (0) | 2020.01.07 |
댓글