您的位置:首页 > 其它

Intellij IDEA 自定义 getter and setter

2016-10-21 11:14 1451 查看
选择某个类,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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息