区间
闭区间
val range:IntRange = 0..60 //[0,60]
开区间
val rangeExclusive:IntRange = 0 until 60//[0, 60)
public class IntRange(start: Int, endInclusive: Int) : IntProgression(start, endInclusive, 1), ClosedRange<Int>
IntRange 实现了ClosedRange接口
public interface ClosedRange<T: Comparable<T>> {
/**
* The minimum value in the range.
*/
public val start: T
/**
* The maximum value in the range (inclusive).
*/
public val endInclusive: T
/**
* Checks whether the specified [value] belongs to the range.
*/
public operator fun contains(value: T): Boolean = value >= start && value <= endInclusive
/**
* Checks whether the range is empty.
*/
public fun isEmpty(): Boolean = start > endInclusive
}
CloseRange中包含start, endInclusive
public operator fun contains(value: T): Boolean = value >= start && value <= endInclusive
contains用来判断数字是否在区间内,由于加了operator那么contains 可以用 in替代
例如
val range:IntRange = 0..60 //[0,60]
range.contains(50)与50 in range相同