본문 바로가기
Android/안드로이드 스터디(Kotlin)

Kotlin] 45. ClosedRange

by 김마리님 2020. 12. 23.

Range 라는 말을 보면 어떤가? 이젠 딱 봐도 범위가 생각나야지..

말 그대로 닫힌 구간을 표기하는 인터페이스이다. 닫힌 구간에서는 당연히 시작과 끝을 알 수 있고,

또 범위 특성상 내부를 쭉 훑어서 큰 값과 작은 값의 비교가 가능해야한다. 즉, Comparable을 상속하는 값들(기존에 범위를 측정 가능한 자료형 + 임의로 Comparable을 상속하는 클래스 자료형)만이 closeRange 인터페이스를 사용할 수 있다. 또 범위가 비었는지 아닌지도 측정이 가능하다.

 

예시를 보자.

package closedRangeEx

fun main() {
    val intRange : IntRange = 1..10
    val longRange : LongRange = 1L .. 100L
    val charRange : CharRange = 'a' .. 'z'

    println(intRange.start)
    println(longRange.endInclusive)
    println('*' in charRange)
    println(charRange.isEmpty())

}

 기본적으로 구성된 자료형 IntRange, CharRange, LongRange는 모두 ClosedRange 인터페이스가 구현되어있다. 

이제 말 그대로 보면 된다.

 

start는 범위의 첫 값,

endInclsuive는 범위의 마지막 값을 출력한다.

in은 기존 범위값과 마찬가지로 범위 내에 현재 값이 있는지 여부를 출력한다.

isEmpty는 기존 자바와 역할이 동일하다.

 

결과값 :

 

1
100
false
false

반응형

'Android > 안드로이드 스터디(Kotlin)' 카테고리의 다른 글

Kotlin] 47. Collection  (0) 2020.12.23
Kotlin] 46. Iterable 인터페이스  (0) 2020.12.23
Kotlin] 44. Comparable  (0) 2020.12.23
Kotlin] 43. Triple  (0) 2020.12.22
Kotlin] 42. Pair  (0) 2020.12.17