自定义idea的set和get方法

idea自定义的set、get方法是这样子的

public class Person {
    private String name;
    private Integer age;
    private Boolean isStudent;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Boolean getStudent() {
        return isStudent;
    }

    public void setStudent(Boolean student) {
        isStudent = student;
    }
}

尤其是Boolean类型的修改,每次都要手动改回去,挺麻烦的,研究了一下idea的live template的语法,修改后效果为:

public class Person {
    private String name;
    private Integer age;
    private Boolean isStudent;

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

    public Person setAge(Integer age) {
        this.age = age;
        return this;
    }

    public Boolean getIsStudent() {
        return isStudent;
    }

    public Person setIsStudent(Boolean isStudent) {
        this.isStudent = isStudent;
        return this;
    }
}

自定义脚本为:

set方法

#set($paramName =  $field.name)
public
#if($field.modifierStatic)
static ##
#end

$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($paramName)))
get##
${name}() {
return $field.name;
}

get方法

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

至于在哪里添加呢?
1.command+N或者鼠标右键,genereate
这里写图片描述
2.Getter and Setter
这里写图片描述
3.点击+,新增一个
这里写图片描述

语法形式和velocity挺像的。其中最终要的是field变量,加入你选中的是name,那么:

field:
AbstractElement {
            name = 'name', 
            isPrimitiveArray = false, 
            isStringArray = false, 
            isCollection = false, 
            isMap = false, 
            isList = false, 
            isPrimitive = false, 
            isDate = false, 
            isCalendar = false,
            isLong = false, 
            isDouble = false, 
            isVoid = false, 
            isByte = false, 
            type = 'java.lang.String', 
            typeQualifiedName = 'java.lang.String',  
            isModifierStatic = false,
            isModifierProtected = false,
             isModifierPackageLocal = false, 
            isModifierFinal = false
        } :::FieldElement {
            isConstant = false, isEnum = false, isModifierTransient = false, isModifierVolatile = false
        }
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值