API 21以下的Kotlin范围
我想要存储像< 4.1, 29..35 >
这样的键值对,我可以用HashMap<Double, Range<Int>>
:
val womanMap: HashMap<Double, Range<Int>> = hashMapOf() @RequiresApi(Build.VERSION_CODES.LOLLIPOP) fun createMap() { //This both requires API 21 val range = Range(29,35) womanMap[4.6] = Range.create(29,35) }
我如何在API 21级以下做到这一点?
改用IntRange
:
val womanMap: HashMap<Double, IntRange> = hashMapOf() @RequiresApi(Build.VERSION_CODES.LOLLIPOP) fun createMap() { val range = 29..35 womanMap[4.6] = 29..35 }
请注意, 29..35
是一个封闭的时间间隔:
for (a in 29..35) print("$a ") // >>> 29 30 31 32 33 34 35
创建一个不包含其结尾元素的范围, 29 until 35
:
for (a in 29 until 35) print("$a ") // >>> 29 30 31 32 33 34
欲了解更多信息: 范围
Range
是Android SDK中的一个类,它与API 21绑定在一起。您可以使用由Kotlin标准库提供的IntRange。
您可以在这里找到Kotlin范围的使用示例。
以下是他们的基本用法:
val range = 1..10 // creation println(range.first) // 1 println(range.last) // 10 println(5 in range) // true