kotlin 中“in”的使用

Posted android大咖秀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin 中“in”的使用相关的知识,希望对你有一定的参考价值。


文章目录

前言

in 介绍

in 使用

总结

前言

for(i in 0..100),在 前面的 for 循环文章中我们有提到过 in。除了在 for 循环中用到它,还有哪些地方会用到呢,又是怎么用的呢,下面就主要来介绍下它

in 介绍

in 中文意思就是在...之内,它是一个运算符。(在 kotlin 的语法中,也是非常符合它的语意的,和区间组合在一起,主要表示在..区间。'c' in 'a'..'z',它是区间表达式,是一个判断的语句,输出的是一个 boolean。意思是 c 字符是否在字符 a 到 字符 b 的区间内)

再举例子 1 in 0.. 100, 表示 1是不是0到100区间,放到输出语句中,很显然会输出true

!in 表示不在..区间。也是运算符,正好和 in 相反。(也容易理解!表示取反)
可以直接复制下面代码,验证一下

fun main(args: Array<String>){
    println('c' in 'a'..'d');
    println(1 in 0..100)
}

in 使用

用于检查字符区间成员

用于检查对象(这个实例对象的类必须实现了 java.lang.Comparable),比如字符串,因为String 实现了 Comparable

用于检查集合
1、检查字符区间

fun isLetter(c: Char) = c in 'a'..'z'
fun isNotDigit(c: Char) = c !in '0'..'9' //不在这个0到9区间

fun main(args: Array<String>) {
    println(isLetter('c'))
    println(isNotDigit('c'))
}

2、可以使用 when 来写,检查字符区间

fun recognize(c: Char) = when(c){
    in '0'..'9' -> "It is a digit!"
    in 'a'..'z', in 'A'..'Z' -> "It's a letter!"
    else -> "I don't know..."
}

fun main(args: Array<String>) {
    println(recognize('d'))
}

3、检查字符串区间

fun main(args: Array<String>) {
    println('a'<'c') //比较大小,可以忽略不看
    println("kotlin" in "java".."scala")   // 是否在"java"和"scala"字符串区间 ,相当于"java"<="kotlin"&& "kotlin" <= "scala"
 
}

4,检查集合

fun main(args: Array<String>) {
    println("kotlin" in setOf<String>("java","scala"))  //kotlin 是否在集合中
}

总结

i in a..b 表示 i 是否在 a 到 b 区间

in 可以检查字符区间,对象区间(实例对象的类必须实现Comparable),集合


如果对你有一点点帮助,那是值得高兴的事情。:)


我的csdn:http://blog.csdn.net/shenshizhong
我的简书:http://www.jianshu.com/u/345daf0211ad






以上是关于kotlin 中“in”的使用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Kotlin 片段内的按钮之间切换片段?

如何在kotlin的片段内显示网格视图?

kotlin-从一个片段更改多个片段的小数位

Android 上的 Kotlin:如何在片段中使用数据库中的 LiveData?

使用导航从工具栏菜单项单击在片段之间传递数据 - Kotlin

在片段中单击按钮播放声音(Kotlin)[重复]