- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
data class Bar(
var foo: String = "",
var isFoo: String = ""
)
编译器报错:
平台声明冲突:以下声明具有相同的 JVM 签名 (setFoo(Ljava/lang/String;)V):public final fun (
如何提示编译器使用 setter 的原始字段名称? (setFoo 和 setIsFoo)注意:代码是由jooq(从数据库模式)生成的,因此手动更改代码不是一个好方法
最佳答案
你需要用@JvmName
注解setter:
data class BarFoo(
var foo: String = "",
@set:JvmName("setIsFoo") var isFoo: String = ""
)
没有编译器错误,但有记录的行为(参见 https://kotlinlang.org/docs/java-to-kotlin-interop.html#properties ),要在不修改代码的情况下对其进行调整,您必须编写一些编译器插件。
也许有办法让jooq生成这样的代码?
关于kotlin 字段 foo 和 isFoo 冲突 : The following declarations have the same JVM signature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67698228/
data class Bar( var foo: String = "", var isFoo: String = "" ) 编译器报错: 平台声明冲突:以下声明具有相同的 JVM 签名 (s
data class Bar( var foo: String = "", var isFoo: String = "" ) 编译器报错: 平台声明冲突:以下声明具有相同的 JVM 签名 (s
我是一名优秀的程序员,十分优秀!