Kotlin中in条件的反向写法:对应Java!取反的语法是什么
Kotlin范围判断的取反实现
- Java中通常用
!符号表示逻辑非,但Kotlin针对范围、集合的元素归属判断场景,专门提供了!in操作符,直接用来实现「元素不在指定范围/集合内」的判断逻辑,不需要额外给判断表达式套括号加取反符。 - 对应给出的代码示例,原有判断
item在5到10区间内的写法为:
if (item in 5..10)
要实现item不在5到10区间内的判断,直接将in替换为!in就是正确写法:
if (item !in 5..10)
补充:虽然也可以通过
if (!(item in 5..10))的写法实现完全相同的效果,但这种写法属于冗余语法,Kotlin官方编码规范更推荐直接使用!in,写法更简洁、可读性更强。
*注意:Kotlin中5..10是包含端点5和10的闭区间,如果需要判断不在「大于等于5、小于10」的半开区间,可以搭配until使用,写法为item !in 5 until 10。!in的适配范围和in完全一致,同样支持列表、Set等集合的元素归属取反判断,比如判断元素不在某列表中可直接写item !in targetList。
内容的提问来源于stack exchange,提问作者Bob Redity
相关产品推荐
相关产品推荐

