Intellij IDEA 自定義 getter and setter

選擇某個類,Alt+Insert,選擇getter and setter


編輯getter template,輸入以下,將boolean類型生成getXx()和setXx(),而不是isXx()方法:

#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
get${name}() {
return $field.name;
}

編輯setter template,輸入以下,會生成如public className setXx()的方法。

#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
$classname set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
#if ($field.name == $paramName)
    #if (!$field.modifierStatic)
    this.##
    #else
        $classname.##
    #end
#end
$field.name = $paramName;
return this;
}

生成示例代碼如下:

public class User {
    private boolean flag;

    public boolean getFlag() {
        return flag;
    }

    public User setFlag(boolean flag) {
        this.flag = flag;
        return this;
    }
}


2,生成lombok風格的getter和setter

getter模板

#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#set($name = $name.substring(0, 1).toLowerCase() + $name.substring(1))
${name}() {
return $field.name;
}

setter模板

#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#set($name = $name.substring(0, 1).toLowerCase() + $name.substring(1))
$classname ${name}($field.type $paramName) {
#if ($field.name == $paramName)
    #if (!$field.modifierStatic)
    this.##
    #else
        $classname.##
    #end
#end
$field.name = $paramName;
return this;
}


生成代碼樣例如下:

public class Sample {
    private String name;

    public String name() {
        return name;
    }

    public Sample name(String name) {
        this.name = name;
        return this;
    }
}



發佈了154 篇原創文章 · 獲贊 203 · 訪問量 103萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章