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