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 |