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

Android Studio中Kotlin Duration使用报错的解决方法咨询

解决Kotlin Duration.parse的ExperimentalTime opt-in报错问题

你遇到的报错是因为Duration.parse属于Kotlin的实验性API,这类API还处于测试阶段,需要显式声明同意使用才能正常编译。以下是几种解决方式:

方法1:在使用位置添加注解

直接在调用Duration.parse的函数、类或者代码块上添加opt-in注解:

  • 单个函数上添加:
import kotlin.time.ExperimentalTime
import kotlin.time.Duration

@OptIn(ExperimentalTime::class)
fun yourFunction(timeClose: String) {
    val test: Duration = Duration.parse(value = timeClose)
    // 其他代码
}
  • 或者直接用@kotlin.time.ExperimentalTime注解效果一致:
@kotlin.time.ExperimentalTime
fun yourFunction(timeClose: String) {
    val test: Duration = Duration.parse(value = timeClose)
}

方法2:全局配置模块级opt-in

如果不想在每个使用的地方加注解,可以在模块的build.gradle(或build.gradle.kts)中全局开启该实验性API的opt-in:

Groovy语法(build.gradle)

android {
    // 其他配置
    kotlinOptions {
        freeCompilerArgs += "-opt-in=kotlin.time.ExperimentalTime"
    }
}

Kotlin DSL语法(build.gradle.kts)

android {
    // 其他配置
    kotlinOptions {
        freeCompilerArgs.add("-opt-in=kotlin.time.ExperimentalTime")
    }
}

配置后同步gradle,整个模块内使用Duration.parse都无需单独加注解。

方法3:在类级别添加注解

如果整个类都需要使用该实验性API,可以在类上添加注解:

@OptIn(ExperimentalTime::class)
class YourClass {
    fun parseTime(timeClose: String) {
        val test: Duration = Duration.parse(value = timeClose)
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 13:33:04