kotlin提供了无符号整型的数据类型,如:UShort、UByte等。
如果使用无符号类整型的数组类型,如UByteArray、UShortArray时,会出现一个警告:
This declaration is experimental and its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
这个警告无论是定义还是使用无符号类型数组时都会出现,比较讨厌。
当然可以在每个定义或调用无符号类型数组的函数或类都加上标注:@OptIn(ExperimentalUnsignedTypes::class)
更好的方法是在项目级的build.gradle中指定kotlin的编译选项:
allprojects {
gradle.projectsEvaluated {
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions.freeCompilerArgs += ["-opt-in=kotlin.ExperimentalUnsignedTypes"]
}
}
}
这会消除所有相关的警告,一劳永逸。
2024.1.30 补充一下kts中的写法
allprojects {
gradle.projectsEvaluated {
tasks.withType<KotlinCompile>().all{
kotlinOptions.freeCompilerArgs += "-opt-in=kotlin.ExperimentalUnsignedTypes"
}
}
}
在Kotlin中使用无符号整型数组如UByteArray时,会出现实验性功能警告。可以通过在代码中添加@OptIn注解或者在项目级build.gradle配置kotlinOptions,使用-freeCompilerArgs参数来全局消除这些警告。2024.1.30更新了kts脚本的写法。
1044

被折叠的 条评论
为什么被折叠?



