有没有办法在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并定义新方法的情况下执行此操作?
答案 0 :(得分:12)
如果您只想更改名称而不是功能,您还可以像下面那样更改注释的范围:
@get:JvmName("getPropertyName")
@set:JvmName("setPropertyName")
var property_name = Color.BLACK
答案 1 :(得分:6)
有关处理签名冲突的部分进行了描述: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
应该有用。