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

Kotlin是否支持Short类型数值字面量标记 有无类似3S的写法?

Kotlin 目前没有内置类似 3S 这样的 Short 类型字面量专属标记,整数默认字面量均为 Int 类型,且 Kotlin 不支持不同数值类型的隐式转换,所以才会出现 Int 和 Short 类型无法直接使用 == 比较的报错。

可用解决方案

  • 显式调用 toShort() 方法将 Int 字面量转为 Short 类型,修改代码如下即可正常运行:
    if(shortVal == 3.toShort())
    
    另外如果是声明 Short 类型变量,只要显式指定变量类型为 Short,编译器会自动对赋值的整数字面量做类型适配,不需要额外调用转换方法:
    val shortVal: Short = 3 // 编译器自动将字面量3适配为Short类型
    
  • 如果需要频繁使用 Short 字面量,也可以通过自定义 Int 扩展属性实现你想要的 3S 写法:
    // 全局定义扩展属性
    val Int.S: Short
        get() = this.toShort()
    
    // 使用示例,和原生字面量用法一致
    if(shortVal == 3S)
    

内容的提问来源于stack exchange,提问作者Damn Vegetables

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:15:03