IntelliJ转带Getter/Setter的Java类到Kotlin,如何保留mName属性名?
问题:IntelliJ Java转Kotlin时如何保留属性名"mName"?
我用IntelliJ将Java代码转换为Kotlin代码时,遇到了属性名被自动修改的问题:
原Java类代码:
public class Test { private String mName; public String getName() { return mName; } public void setName(String name) { this.mName = name.trim(); } }
转换后的Kotlin类代码自动将属性名改为了name:
class Test { var name: String? = null private set fun setName(name: String) { this.name = name.trim { it <= ' ' } } }
请问有没有办法让转换后的Kotlin代码保留原属性名"mName"?
可行解决方案
感谢@Sam的指导,由于这类字段数量较多,转换后手动修改Kotlin代码效率极低。在独立项目(非公共库)中,先在Java代码里重构Getter和Setter的名称,再进行Kotlin转换是更简便的方式:
修改后的Java类代码(将getName()改为getMName(),setName()改为setMName()):
public class Test { private String mName; public String getMName() { return mName; } public void setMName(String name) { this.mName = name.trim(); } }
转换后的Kotlin类代码即可保留mName属性名:
class Test { var mName: String? = null private set fun setMName(name: String) { mName = name.trim { it <= ' ' } } }
内容的提问来源于stack exchange,提问作者LXJ
相关产品推荐
相关产品推荐

