You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 02:50:40