The following declarations have the same JVM signature

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
    )
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容