The following declarations have

2023-07-25  本文已影响0人  苍风忍

kotlin 中定义了一个DataClass, 成员变量的名字一样,只是大小写不同:
data class Trade(
val t: Long,
val T: Long
)

编译时报错:
The following declarations have the same JVM signature

解决办法:
1.重命名避免冲突
data class Trade(
val tValue: Long,
val TValue: Long
)

  1. 如果想保持属性名称为t和T,可以使用@JvmField注解,指示Kotlin编译器生成Java字段而不是getter和setter方法,从而解决了方法签名冲突。然而,请注意使用此注解会将属性直接公开为公共字段,绕过封装。
    data class Trade(
    @JvmField val t: Long,
    @JvmField val T: Long
    )
上一篇 下一篇

猜你喜欢

热点阅读