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

调用kotlin.time.Duration.seconds方法提示无法作为函数调用如何解决

问题根因

你遇到的报错是因为当前使用的Kotlin 1.5.21版本中,kotlin.time.Duration还没有提供伴生对象的seconds工厂方法,这套API是Kotlin 1.6.0版本才正式稳定加入的,低版本调用时会找不到对应方法。


解决方案

方案1:升级Kotlin版本(推荐)

将项目Kotlin插件版本升级到1.6.0及以上即可,修改build.gradle.kts中的插件配置:

plugins {
    id("org.jetbrains.kotlin.jvm") version "1.6.21" // 选择更高的稳定版本也可
}

升级后你原本的Duration.seconds(5)写法就可以正常运行,同时1.6及以上版本的kotlin.timeAPI已经稳定,不需要再加@ExperimentalTime注解。
注意升级Kotlin版本后,需要同步升级Kotest等相关依赖到对应兼容版本,避免出现运行时兼容性异常。

方案2:保留当前Kotlin版本,使用兼容写法

如果暂时不想升级Kotlin版本,可以使用1.5版本支持的两种写法实现相同效果:

  • 你当前在用的写法,无需额外调整:
    5.toDuration(DurationUnit.SECONDS)
    
    注意需要导入kotlin.time.DurationUnit包
  • 更简洁的扩展属性写法:
    5.seconds
    
    只要导入kotlin.time.seconds扩展即可使用,写法更简短。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 06:09:03