You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中如何判断值是否落在两个指定区间范围内

Kotlin判断值落在多个区间的正确写法

你原来的代码无法通过编译,核心问题是||作为布尔逻辑运算符,要求左右两边都必须是能返回布尔值的表达式,你写的(20..30)只是一个区间对象,不是判断逻辑,编译器自然无法识别。

以下是几种符合Kotlin语法的实现方式,可根据场景选用:

  • 带参when写法(最推荐,最简洁)
    Kotlin的when分支原生支持用逗号分隔多个匹配条件,多个条件之间是逻辑或关系,只要值满足任意一个条件就会进入对应分支:

    when (value) {
        in 1..10, in 20..30 -> {
            // 命中区间后执行的逻辑
        }
    }
    
  • 无参when写法
    如果习惯把when当作纯布尔多分支判断使用(类似其他语言的switch(true)写法),可以不给when传参数,分支里直接写完整的布尔判断即可:

    when {
        value in 1..10 || value in 20..30 -> {
            // 命中区间后执行的逻辑
        }
    }
    
  • 普通if写法
    如果只需要做这一次区间判断,不需要其他分支,直接用if写逻辑最直接:

    if (value in 1..10 || value in 20..30) {
        // 命中区间后执行的逻辑
    }
    

小提示:上面示例里的1..10是包含首尾端点的闭区间,如果需要左闭右开区间(即不包含右端点),可以用until函数创建区间,比如1 until 10代表的区间是[1, 10),多区间组合的写法和上述规则完全一致。

内容的提问来源于stack exchange,提问作者Marcin Z.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 13:27:17