首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin可重复@注释在jdk-8上不起作用

Kotlin可重复@注释在jdk-8上不起作用
EN

Stack Overflow用户
提问于 2017-06-14 11:50:15
回答 4查看 5K关注 0票数 9

中声明了一个可重复的注释@Parameter

kotlin如下:

代码语言:javascript
复制
@Repeatable
annotation class Parameter(val name: String);

但是,当我在下面使用它时,编译器会报告一个错误:

只有具有源保留功能的注释才能在1.8JVM版本之前重复使用。

代码语言:javascript
复制
@Parameter("foo")
@Parameter("bar")
fun repeat() = 1;

我肯定我在和jdk-8一起工作

kotlinjvmTarget选项也被设置为用于kotlin-1.1.2 gradle插件的1.8

Q:,为什么它不能正常工作?

代码语言:javascript
复制
sourceCompatibility = 1.8
targetCompatibility = 1.8

compileKotlin {
    kotlinOptions{
        jvmTarget = "1.8"
    }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-06-14 11:58:53

如果我没有弄错的话,Kotlin编译器目前的目标是JDK 1.6类文件格式。这意味着,在上,它不能为类文件编写多个注释。

虽然从概念上说,Kotlin支持多个注释,但由于输出限制,在实现正确的1.8目标之前,它不能这样做。

票数 2
EN

Stack Overflow用户

发布于 2017-10-05 09:37:59

目前Kotlin不可能做到这一点。有一个bug被打开了,请随意投票:https://youtrack.jetbrains.com/issue/KT-12794

票数 2
EN

Stack Overflow用户

发布于 2021-02-03 16:18:06

可以,停那儿吧。只需使用注释的“长形式”即可。

按照这个线程的结尾:https://discuss.kotlinlang.org/t/issue-with-repeated-java-8-annotations/1667/11

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44543978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档