Kotlin 重命名生成的 getter 和 setter

Kotlin Renaming Generated Getters and Setters

有没有办法重命名 Kotlin 中的默认 getter 和 setter?我有一个在 snake_case 中命名的 属性,但我仍然希望在 camelCase 中命名 getter 和 setter。

我得到的最接近的是

private var property_name = Color.BLACK
private set
fun setPropertyName(c: Color) { property_name = c }
fun getPropertyName() = property_name

有没有办法在不隐藏 getter 和 setter 并定义新方法的情况下做到这一点?

在处理签名冲突部分有描述:https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html#handling-signature-clashes-with-jvmname

val x: Int
    @JvmName("getX_prop")
    get() = 15

所以 @JvmName("getPropertyName") get 应该可以。

如果您只想更改名称而不是功能,您也可以像这样限定注释范围:

@get:JvmName("getPropertyName")
@set:JvmName("setPropertyName")
var property_name = Color.BLACK