Kotlin 重命名生成的 Getter 和 Setter

10

在Kotlin中是否有办法重命名默认的getter和setter?我有一个使用 snake_case 命名的属性,但我仍希望getter和setter的名称为 camelCase

我找到的最接近的方法是:

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

有没有一种方法可以不隐藏getter和setter并定义新方法来实现这个?


你是在尝试使用蛇形命名法来为某些其他系统(例如JSON序列化/反序列化)命名吗?为什么要使用非标准的属性命名方式?这个背景可能会导致完全不同的答案,以帮助你实现你想要的目标。(换句话说,这是一个XY问题http://xyproblem.info/吗?) - Jayson Minard
@JaysonMinard我喜欢在命名变量时使用蛇形样式,但项目要求使用驼峰样式的getter和setter。 - Jeffmagma
2个回答

26

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

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

14

这仍然相当繁琐,但我想它仍然比以前好很多。 - Jeffmagma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接