hol*_*ava 6 annotations kotlin
我已经声明了一个可重复的注释@Parameter中
科特林 如下:
@Repeatable
annotation class Parameter(val name: String);
Run Code Online (Sandbox Code Playgroud)
但是当我如下使用它时,编译器报告一个错误:
在1.8之前的JVM版本上只能重复具有SOURCE保留的注释
@Parameter("foo")
@Parameter("bar")
fun repeat() = 1;
Run Code Online (Sandbox Code Playgroud)
我敢肯定,我的工作jdk-8在
科特林。并且该选项jvmTarget也设置1.8为kotlin-1.1.2gradle插件。
问:为什么它不能正常工作?
sourceCompatibility = 1.8
targetCompatibility = 1.8
compileKotlin {
kotlinOptions{
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,Kotlin编译器当前的目标是JDK 1.6类文件格式。这意味着,在Java上,它无法将多个注释写入类文件。
虽然从概念上讲,Kotlin支持多个注释,但在有适当的1.8定位之前,由于输出限制,它无法这样做。
| 归档时间: |
|
| 查看次数: |
1304 次 |
| 最近记录: |